[C] 1264번: 모음의 개수

[C] 1264번: 모음의 개수
2026-03-07

문제#

https://www.acmicpc.net/problem/1264

영문 문장을 입력받아 모음의 개수를 세는 프로그램을 작성하시오. 모음은 ‘a’, ‘e’, ‘i’, ‘o’, ‘u’이며 대문자 또는 소문자이다.

입력#

입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 영어 대소문자, ’,’, ’.’, ’!’, ’?’, 공백으로 이루어진 문장이 주어진다. 각 줄은 최대 255글자로 이루어져 있다.

입력의 끝에는 한 줄에 ’#’ 한 글자만이 주어진다.

출력#

각 줄마다 모음의 개수를 세서 출력한다.

풀이#

한 줄씩 문자열로 입력받은 뒤, 각 문자를 확인하면서 모음이면 개수를 증가시키면 됩니다.

  • 소문자 모음: a, e, i, o, u
  • 대문자 모음: A, E, I, O, U

입력이 # 한 글자이면 종료합니다.

코드#

#include <stdio.h>
#include <string.h>
int main() {
char s[257];
while (1) {
fgets(s, sizeof(s), stdin);
if (strcmp(s, "#\n") == 0 || strcmp(s, "#") == 0) {
break;
}
int count = 0;
for (int i = 0; s[i] != '\0'; i++) {
if (s[i] == 'a' || s[i] == 'e' || s[i] == 'i' ||
s[i] == 'o' || s[i] == 'u' || s[i] == 'A' ||
s[i] == 'E' || s[i] == 'I' || s[i] == 'O' ||
s[i] == 'U') {
count++;
}
}
printf("%d\n", count);
}
return 0;
}