Skip to content

Instantly share code, notes, and snippets.

@tron1point0
Created June 15, 2012 15:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tron1point0/2937197 to your computer and use it in GitHub Desktop.
Save tron1point0/2937197 to your computer and use it in GitHub Desktop.
#include <stdlib.h>
#define lc(var) (var >= 'A' && var <= 'Z' ? var + 32 : var)
#define uc(var) (var >= 'a' && var <= 'z' ? var - 32 : var)
#define vowelp(var) ( \
uc(var) == 'A' || \
uc(var) == 'E' || \
uc(var) == 'I' || \
uc(var) == 'O' || \
uc(var) == 'U')
char *rev_case (char *str) {
int i = 0;
int len = 0;
char *curr = str;
char *ret = NULL;
while (*(curr++)) len++;
ret = (char *)malloc(sizeof(char)*len);
for (i = 1; i <= len; i++) {
ret[len-i] = vowelp(str[i-1]) ? uc(str[i-1]) : lc(str[i-1]);
}
ret[i] = '\0';
return ret;
}
sub rev_case {map {tr/A-Z/a-z/;tr/aeiou/AEIOU/;scalar reverse $_} @{[@_]}}
from string import maketrans
def rev_case(s):
return s.lower().translate(maketrans("aeiou","AEIOU"))[::-1]
function rev_case { tr A-Z a-z | tr aeiou AEIOU | rev ; }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment