목적
  - 문자열에서 특정 문자를 추려서 계산한다.
문제

사용자 삽입 이미지

코드

#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 문은 이전 문제에서 많이 다루었기 때문에 특별히 언급하지 않겠습니다. 키로그를 참조하시기 바랍니다.

참고
  - 유사 문제



Posted by 카켈