C#에서 문자열을 분석할 때는 모음(vowel)과 자음(consonant)을 모두 확인해야 하며, 이때 대문자와 소문자를 함께 처리하는 것이 중요합니다. 검사 조건에 대소문자가 모두 포함되지 않으면 일부 문자가 누락되어 정확한 결과를 얻을 수 없습니다.
모음 검사 조건 작성하기
모음 개수를 세려면 'a', 'e', 'i', 'o', 'u' 문자를 각각 조건으로 검사해야 합니다. 아래 코드처럼 소문자와 대문자를 모두 비교 조건에 포함하면 됩니다.
if (myStr[i] == 'a' || myStr[i] == 'e' || myStr[i] == 'i' || myStr[i] == 'o' || myStr[i] == 'u'
|| myStr[i] == 'A' || myStr[i] == 'E' || myStr[i] == 'I' || myStr[i] == 'O' || myStr[i] == 'U') {
vowel_count++;
}전체 예제 코드
다음은 문자열에 포함된 모음의 개수를 세는 C# 프로그램의 완전한 코드입니다. 문자열 길이만큼 반복문을 돌면서 각 문자가 모음인지 확인하고, 모음이면 vowel_count를 증가시키고 그렇지 않으면 cons_count를 증가시킵니다.
using System;
public class Demo {
public static void Main() {
string myStr;
int i, len, vowel_count, cons_count;
myStr = "Avengers";
vowel_count = 0;
cons_count = 0;
// 문자열 길이 구하기
len = myStr.Length;
for(i=0; i<len; i++) {
if(myStr[i]=='a' || myStr[i]=='e' || myStr[i]=='i' || myStr[i]=='o' || myStr[i]=='u'
|| myStr[i]=='A' || myStr[i]=='E' || myStr[i]=='I' || myStr[i]=='O' || myStr[i]=='U') {
vowel_count++;
} else {
cons_count++;
}
}
Console.Write("\nVowels in the string: {0}\n", vowel_count);
}
}실행 결과
예제 문자열 "Avengers"에는 A, e, e 총 3개의 모음이 포함되어 있으므로 다음과 같은 결과가 출력됩니다.
Vowels in the string: 3