diff options
author | EliteTK <tomasz.kramkowski@gmail.com> | 2014-05-28 00:47:00 +0100 |
---|---|---|
committer | EliteTK <tomasz.kramkowski@gmail.com> | 2014-05-28 00:47:00 +0100 |
commit | 922fe2f68c39a765896d274356c7c9dc4fb9cd73 (patch) | |
tree | d3d486db606fdbb0c248c7dcc7abf2ec9d267e69 /rot.c | |
parent | 6e454d2d74261f3f054fb73cb8bdf8ee8df67a06 (diff) | |
parent | 39c3721ca16d2dfdbd8e5488e7d1f57a6d54310e (diff) | |
download | c-stuff-922fe2f68c39a765896d274356c7c9dc4fb9cd73.tar.gz c-stuff-922fe2f68c39a765896d274356c7c9dc4fb9cd73.tar.xz c-stuff-922fe2f68c39a765896d274356c7c9dc4fb9cd73.zip |
Merge branch 'master' of https://github.com/EliteTK/c-stuff
Merge.
Diffstat (limited to 'rot.c')
-rw-r--r-- | rot.c | 26 |
1 files changed, 26 insertions, 0 deletions
@@ -0,0 +1,26 @@ +#include <stdio.h> +#include <string.h> +#include <ctype.h> +#include <stdlib.h> + +#define mod(A) ((A)%26) + +int main(int argc, char **argv) +{ + if(argc!=3) + exit(1); + char *string = *(argv+1); + int i, rot = (int)strtol(*(argv+2), NULL, 10); + for(i=0; i<strlen(string); i++) + if(isalpha(string[i])){ + if(string[i]-'A'<26){ // Simple way to differentiate lower and upper case if all letters are known to be alpha. + putchar(mod(string[i]-'A'+rot)+'A'); + }else{ + putchar(mod(string[i]-'a'+rot)+'a'); + } + }else{ + putchar(string[i]); + } + putchar('\n'); + return 0; +} |