본문 바로가기

C/배열

C언어 - 알파벳을 정수만큼 쉬프트

알파벳 소문자 5개와 정수를 입력 받아 정수만큼 쉬프트한 결과를 출력하시오. * 단, a를 -1만큼 쉬프트하면 z, z를 1만큼 쉬프트하면 a.

EX) 입력: abcde 1    =>  출력: b c d e f

       입력: abcde -1  =>  출력: z a b c d 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define SIZE 5
 
 
int main(void) {
 
    char a[SIZE];
    int n;
 
    printf("알파벳 소문자 5개를 입력하시오: ");
    for (int i = 0; i < SIZE; i++) {
        scanf("%c"&a[i]);
    }
    printf("정수를 입력하시오: ");
    scanf("%d"&n);
 
    for (int i = 0; i < SIZE; i++) {
        if (a[i] + n > 'z')
            printf("%c "'a' + (n - ('z' - a[i]) - 1));
        else if (a[i] + n < 'a')
            printf("%c "'z' - (-- (a[i] - 'a'- 1));
        else printf("%c ", a[i] + n);
    }
 
    return 0;
}
cs