출처 : 반크_세계유산 석굴암
문제]
임의의 영문자열을 입력받아 아래와 같이 출력하는 프로그램을 작성하시오.
조건)
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;
}
참고풀이 결과]
대한민국의 아름다운 영토, 독도의 가을
'프로그램 > C++ 1000제' 카테고리의 다른 글
C++ 56제] vector 사용, 숫자 마름모를 만드세요. (0) | 2022.06.27 |
---|---|
C++ 55제] vector 사용, 입력된 문자열을 단어별로 출력하시오. (0) | 2022.06.23 |
C++ 53제] vector 사용, 입력된 문자열 거꾸로 출력하시오. (0) | 2022.06.22 |
C++ 52제] vector 사용, 최대값과 최소값의 차를 구하시오. (0) | 2022.06.21 |
C++ 51제] vector 사용, 최소값을 구하시오. (0) | 2022.06.21 |
댓글