목적
- 문자열에서 특정 문자를 추려서 계산한다.
문제
코드
#include <iostream>
#include <ctype.h>
using namespace std;
int main(void)
{
char sIn[255] = {0};
int iCount, iMo, iSpace;
iCount = iMo = iSpace = 0;
cout << "문자열을 입력하세요 : ";
cin.getline(sIn,255,'\n');
while(sIn[iCount] != 0)
{
switch(tolower(sIn[iCount]))
{
case 'a':
iMo++;
break;
case 'e':
iMo++;
break;
case 'i':
iMo++;
break;
case 'o':
iMo++;
break;
case 'u':
iMo++;
break;
case ' ':
iSpace++;
break;
default:
break;
}
iCount++;
}
cout << "문자의 수 : " << iCount << endl;
cout << "모음의 수 : " << iMo << endl;
cout << "공백의 수 : " << iSpace << endl;
return 0;
}
해설
- 모음에는대소문자를 가리지 않으므로 소문자로 일괄처리하여 속도를 빠르게(?) 했습니다.
- 공백은 ' ' 로 처리하면 됩니다.
- switch-case 문은 이전 문제에서 많이 다루었기 때문에 특별히 언급하지 않겠습니다. 키로그를 참조하시기 바랍니다.
참고
- 유사 문제