fork(1) download
  1. #include <stdio.h>
  2.  
  3. int isalphabet(char c) {
  4. if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'))
  5. return 1;
  6. else
  7. return 0;
  8. }
  9.  
  10. char caesar(char c, int n) {
  11. if (!isalphabet(c))
  12. return c;
  13.  
  14. int base = (c >= 'A' && c <= 'Z') ? 'A' : 'a';
  15. int pos = c - base;
  16. pos = (pos + n) % 26;
  17. if (pos < 0)
  18. pos += 26;
  19. return base + pos;
  20. }
  21.  
  22. int main() {
  23. char input[256];
  24. int n;
  25. scanf("%d", &n);
  26. scanf(" %[^\n]", input);
  27.  
  28. for (int i = 0; input[i] != '\0'; i++) {
  29. input[i] = caesar(input[i], n);
  30. }
  31. printf("Encrypted: %s\n", input);
  32.  
  33. for (int i = 0; input[i] != '\0'; i++) {
  34. input[i] = caesar(input[i], -n);
  35. }
  36. printf("Decrypted: %s\n", input);
  37.  
  38. return 0;
  39. }
Success #stdin #stdout 0.01s 5328KB
stdin
3 Hello,World!
stdout
Encrypted: Khoor,Zruog!
Decrypted: Hello,World!