fork download
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <ctype.h>
  4.  
  5. void encrypt(char text[], int key) {
  6. for (int i = 0; text[i] != '\0'; i++) {
  7. if (isalpha(text[i])) {
  8. char base = islower(text[i]) ? 'a' : 'A';
  9. text[i] = (text[i] - base + key) % 26 + base;
  10. }
  11. }
  12. }
  13.  
  14. void decrypt(char text[], int key) {
  15. for (int i = 0; text[i] != '\0'; i++) {
  16. if (isalpha(text[i])) {
  17. char base = islower(text[i]) ? 'a' : 'A';
  18. text[i] = (text[i] - base - key + 26) % 26 + base;
  19. }
  20. }
  21. }
  22.  
  23. int main() {
  24. char text[100];
  25. int key;
  26. int choice;
  27.  
  28. printf("시저 암호 프로그램\n");
  29. printf("1. 암호화\n");
  30. printf("2. 복호화\n");
  31. printf("선택하세요 (1 또는 2): ");
  32. scanf("%d", &choice);
  33.  
  34. printf("문장을 입력하세요: ");
  35. scanf(" %[^\n]s", text); // 공백 포함 입력 받기
  36. printf("키 값을 입력하세요 (1~25): ");
  37. scanf("%d", &key);
  38.  
  39. if (choice == 1) {
  40. encrypt(text, key);
  41. printf("암호화된 문장: %s\n", text);
  42. } else if (choice == 2) {
  43. decrypt(text, key);
  44. printf("복호화된 문장: %s\n", text);
  45. } else {
  46. printf("잘못된 선택입니다.\n");
  47. }
  48.  
  49. return 0;
  50. }
  51.  
  52.  
Success #stdin #stdout 0.01s 5284KB
stdin
HEILO
20
stdout
시저 암호 프로그램
1. 암호화
2. 복호화
선택하세요 (1 또는 2): 문장을 입력하세요: 키 값을 입력하세요 (1~25): 잘못된 선택입니다.