Advertisement
B1KMusic

rot.c

Apr 8th, 2018
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.65 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <ctype.h>
  4. #include <stdlib.h>
  5.  
  6. #define fits isupper
  7.  
  8. char
  9. rot(char src, int n)
  10. {
  11.     if(!fits(src))
  12.         return src;
  13.  
  14.     src += n;
  15.  
  16.     if(!fits(src))
  17.         return src - 26;
  18.  
  19.     return src;
  20. }
  21.  
  22. char *
  23. rotstr(char *src, int n)
  24. {
  25.     char *out = strdup(src);
  26.  
  27.     for(char *outp = out; *outp; outp++)
  28.         *outp = rot(*outp, n);
  29.  
  30.     return out;
  31. }
  32.  
  33. int
  34. main(int argc, char **argv)
  35. {
  36.     char *src = argv[1];
  37.     char *srcrot;
  38.  
  39.     for(int i = 0; i < 26; i++){
  40.         printf("%02i  %s\n", i, srcrot = rotstr(src, i));
  41.         free(srcrot);
  42.     }
  43.  
  44.     return 0;
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement