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
반응형
'프로그래밍 언어 > C언어' 카테고리의 다른 글
C언어 기초 함수 예제 (0) | 2023.05.10 |
---|---|
C프로그래밍 임의의 양의 정수 n을 입력 받아 n의 약수의 개수를 출력하는 함수 (0) | 2023.05.03 |
C프로그래밍 문자열 함수 연습문제 (0) | 2023.05.03 |
C프로그래밍 숫자 야구게임 (0) | 2023.05.02 |
C프로그래밍 문자열 연습문제 (0) | 2023.05.02 |