[C] 1264번: 모음의 개수
[C] 1264번: 모음의 개수

문제
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;}