main.c 839 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #include <stdio.h>
  2. #include <string.h>
  3. char rot(char in, int rot);
  4. int main(int argc, char** argv) {
  5. if (argc > 1) {
  6. int i;
  7. for (i = 1; i < argc; ++i) {
  8. int j;
  9. for (int j = 0; j < strlen(argv[i]); ++j) {
  10. printf("%c", rot(argv[i][j], 12));
  11. }
  12. printf(" ");
  13. }
  14. printf("\n");
  15. }
  16. }
  17. char rot(char in, int rot) {
  18. /* assume only letters */
  19. if ((int) in < 65 ||
  20. (int) in > 122 ||
  21. (int) in > 90 &&
  22. (int) in < 97) return in;
  23. int n = (int) in;
  24. n -= 65;
  25. /* check if lower-case */
  26. int lc = 0;
  27. if (n > 25) {
  28. lc = 1;
  29. n -= 32;
  30. }
  31. /* calculate modulus */
  32. n = (n + rot) % 26;
  33. /* convert back to letters */
  34. n += 65;
  35. if (lc) n += 32;
  36. return (char) n;
  37. }