목표
  - 문자의 속성을 알고 비교 한다.

문제
사용자 삽입 이미지
코드

#include <iostream>
#include <ctype.h>

using namespace std;

int main(void)
{
 char sIn[255] = {0};
 int iCount, iUpper, iLower, iSpace, iEtc, iNumber;
 iCount = iUpper = iLower = iSpace = iEtc = iNumber = 0;

 cout << "문자열을 입력하세요 : ";
 cin.getline(sIn,255,'\n');

 while(sIn[iCount] != 0)
 {
  if(isupper(sIn[iCount]))
   iUpper++;
 
  else
  {
   if(islower(sIn[iCount]))
    iLower++;
   else
   {
    if(isspace(sIn[iCount]))
     iSpace++;
    else
    {
     if(isdigit(sIn[iCount]))
      iNumber++;
     else
      iEtc++;

    }
     
   }
  }

  iCount++;

 }

 cout << "대문자 개수 : " << iUpper << endl;
 cout << "소문자 개수 : " << iLower << endl;
 cout << "숫자의 개수 : " << iNumber << endl;
 cout << "공백의 개수 : " << iSpace << endl;
 cout << "기타문자 수 : " << iEtc << endl;
 cout << "총문자의 수 : " << iCount << endl;


 return 0;
}


해설
  - isdigit 는 숫자인지 아닌지 알아내는 함수 입니다.

참고
  - 유사 문제

Posted by 카켈




목적
  - 문자의 속성을 알고 비교 한다.

문제
사용자 삽입 이미지
코드

#include <iostream>
#include <ctype.h>

using namespace std;

int main(void)
{
 char sInA[255] = {0};
 char sInB[255] = {0};
 int i = 0;

 cout << "첫번째 문자열 : ";
 cin.getline(sInA, 255, '\n');

 cout << "두번째 문자열 : ";
 cin.getline(sInB, 255, '\n');

 while(sInA[i] != 0 && sInB[i] != 0)
 {
  if(tolower(sInA[i]) != tolower(sInB[i]))
  {
   cout << "두 문자열은 일치하지 않습니다." << endl;
   return -1;
  }

  i++;

 }

 cout << "두 문자열은 일치합니다." << endl;

 return 0;

}


해설
  - 대문자나 / 소문자로만 전부 바꾸어서 비교 하면 됩니다.

참고
  - 유사 문제

Posted by 카켈
이전페이지 1 다음페이지