본문 바로가기
프로그램/C++ 1000제

C++ 54제] vector 사용, 입력된 문자열을 결과와 같이 출력하시오.

by 건티 2022. 6. 23.
728x90

출처 : 반크_세계유산 석굴암

 

문제]

임의의 영문자열을 입력받아 아래와 같이 출력하는 프로그램을 작성하시오.

조건)
1. 출력은 대문자로 출력하시오.

2. 계속여부 문자는 대소문자 구분 없이 처리되도록 하시오.

3. 계속여부 문자는 Y/N만 처리되고 그 외의 문자는 경고없이 다시 입력할 수 있도록 하시오.

출력 예)
영문 문자열을 입력하시오 : abcd
A
AB
ABC
ABCD

 

계속하시겠습니까?(Y/N) t

계속하시겠습니까?(Y/N) y

 

영문 문자열을 입력하시오 : asdf
A
AS
ASD
ASDF

 

계속하시겠습니까?(Y/N) n

수고하셨습니다.

 

 

참고풀이]

#include <iostream>
#include <vector>
#include <string> //string, toupper()
using namespace std;

int main()
{
   string str;
   vector<char> v;
   int i,j;
   char ch;//계속여부 변수 

   while(true)
   {
      //vector에 문자열입력하기
      cout << "영문 문자열을 입력하시오 : ";
      cin >> str;
      for(i=0;i<str.size();i++)
         v.push_back(toupper(str[i]));

      //결과출력
      for(i=0;i<v.size();i++)
      {
         for(j=0;j<=i;j++)
            cout << v[j];
         cout << endl;
      }

      cout<<endl;
      while(true)
      {
         cout << "계속하시겠습니까?(Y/N) ";
         cin >> ch;
         if(toupper(ch)=='Y' || toupper(ch)=='N') break;
      }
      if(toupper(ch)=='N') break;
      v.clear();//vector를 깨끗이 한다. 
      cout<<endl;
   }
   cout << "수고하셨습니다.\n";

   return 0;
}

 

참고풀이 결과]

 

 

 

 

대한민국의 아름다운 영토, 독도의 가을

 

반응형

댓글