fork download
  1. #include <stdio.h>
  2. #include <ctype.h> // isalpha(), islower(), isupper()
  3.  
  4. // 시저 암호화 함수
  5. void caesar_cipher(char* str, int shift) {
  6. while (*str != '\0') {
  7. // 'i'를 '!'로 바꿔주는 조건 추가
  8. if (*str == 'i') {
  9. *str = '!'; // 'i'를 '!'로 변환
  10. }
  11. // 대문자인 경우
  12. else if (isupper(*str)) {
  13. *str = ((*str - 'A' + shift) % 26 + 26) % 26 + 'A'; // A-Z 범위 내에서 이동
  14. }
  15. // 소문자인 경우
  16. else if (islower(*str)) {
  17. *str = ((*str - 'a' + shift) % 26 + 26) % 26 + 'a'; // a-z 범위 내에서 이동
  18. }
  19. str++; // 다음 문자로 이동
  20. }
  21. }
  22.  
  23. int main() {
  24. char input[100];
  25. int shift;
  26.  
  27. // 사용자로부터 문자열 입력 받기
  28. printf("Enter a string: ");
  29. fgets(input, sizeof(input), stdin);
  30.  
  31. // 사용자로부터 이동값(shift) 입력 받기
  32. printf("Enter shift value: ");
  33. scanf("%d", &shift);
  34.  
  35. // 시저 암호 적용 및 'i'를 '!'로 바꾸기
  36. caesar_cipher(input, shift);
  37.  
  38. // 결과 출력
  39. printf("Encrypted string: %s\n", input);
  40.  
  41. return 0;
  42. }
  43.  
Success #stdin #stdout 0s 5280KB
stdin
i am fine
4
stdout
Enter a string: Enter shift value: Encrypted string: ! eq j!ri