프로그래밍 언어/C언어

C 프로그래밍 사용자로부터 알파벳 외의 문자를 입력 받을 때까지 문자를 입력 받고, 다른 문자가 입력되면지금까지 입력된 알파벳들을 대소문자 구분 없이 입력 횟수를 보여주는 프로그램

컨설턴트X 2023. 5. 2. 14:51
728x90
반응형

사용자로부터 알파벳 외의 문자를 입력 받을 때까지 문자를 입력 받고, 다른 문자가 입력되면

지금까지 입력된 알파벳들을 대소문자 구분 없이 입력 횟수를 보여주는 프로그램을 작성하시오

(단, 한 번도 입력되지 않은 알파벳은 출력하지 않는다.)

#include <stdio.h>

int main() {
    int count[26] = {0};
    char input;
    while (1) {
        scanf("%c", &input);
        if (input >= 'a' && input <= 'z')
            count[input-'a']++;
        else if (input >= 'A' && input <= 'Z')
            count[input-'A']++;
        else
            break;
    }
    for (int i=0; i<26; i++) {
        if (count[i] != 0)
            printf("%c : %d\n", i+'A', count[i]);
    }
    return 0;
}

설명:

  • count 배열을 0으로 초기화합니다.
  • while 루프에서 scanf 함수를 이용하여 사용자로부터 입력을 받습니다.
  • 입력된 값이 알파벳인 경우 count 배열에서 해당 알파벳의 인덱스에 대한 값을 1 증가시킵니다.
  • 입력된 값이 알파벳이 아닌 경우 break 문을 이용하여 루프를 종료합니다.
  • for 루프에서 count 배열을 검사하여 0이 아닌 값에 대해 해당 알파벳과 그 개수를 출력합니다. 이때 알파벳은 i+'A'를 이용하여 구할 수 있습니다.
728x90
반응형