-
공백없는 문자열, 공백 있는 문자열_220713데일리 codeup/문자열 2022. 7. 13. 22:37
공백없는 문자열 입력받아 출력하기
앞서 문자열의 경우
<string>
헤더에 포함되어 있는 string 자료형에 입력받아 저장할 수 있다. 공백이 없는 문자열은 cin 함수를 통해 입력받을 수 있다.입력으로 주어진 문자열의 길이는 string 헤더의
length()
함수를 이용하면 쉽게 구할 수 있다.string str; cin >> str; cout<< str.length();
문자열 두번 출력하기
문자열이 주어지면 2번에 걸쳐 해당 문자열을 출력하는 프로그램을 작성해보세요.
#include <iostream> #include <string> using namespace std; int main(){ string str; cin >> str; cout << str << endl; cout << str; return 0; }
문자열의 길이 출력하기
두 개의 문자열이 주어지면 그 두 문자열의 길이를 합하여 출력하는 프로그램을 작성해보세요.
#include <iostream> #include <string> using namespace std; int main(){ string str1,str2; cin >> str1; cin >> str2; cout << str1.length()+str2.length(); return 0; }
더 긴 문자열
두 개의 단어가 주어지면 길이가 더 긴 단어와 길이를 출력하는 프로그램을 작성해보세요.
#include <iostream> #include <string> using namespace std; int main(){ string str1,str2; cin>>str1; cin>>str2; if(str1.length()==str2.length()) cout<<"same"; else if(str1.length()>str2.length()) cout<<str1<<' '<<str1.length(); else cout<<str2<<' '<<str2.length(); return 0; }
가장 짧은 문자열
3개의 문자열이 주어졌을 때, 가장 긴 문자열과 가장 짧은 문자열의 길이 차가 얼마인지 구해보는 프로그램을 작성해보세요.
#include <iostream> #include <string> using namespace std; int main(){ string str1,str2,str3; int a,b,c,tmp1,tmp2; cin >> str1 >> str2 >> str3; a = str1.length(); b = str2.length(); c = str3.length(); tmp1 = b>c?b:c; tmp2 = b<c?b:c; cout<<(a>tmp1?a:tmp1)-(a<tmp2?a:tmp2); }
공백(space)가 포함된 문자열 입력받아 출력하기
만약 space 를 포함한 문자열을 한 개의
string
문자열에 받고 싶다면, 문자열 구분단위를 space와 new line 이 아닌 오직 new line 만으로 바꿔주어야 한다.string
헤더의getline()
함수를 이용하면 이를 편하게 할 수 있다. getline 함수는 문자열을 new line 으로만 구분하여 입력받으므로, space를 포함한 문자열을 입력으로 받을 수 있습니다.getline(cin, 받고자 하는 문자열)
문자열 범위 출력하기
공백이 들어 있을 수 있는 문자열이 주어지면 3번째 문자부터 10번 문자까지 순서대로 출력하는 프로그램을 작성해보세요.
#include <iostream> #include <string> using namespace std; int main() { string str; getline(cin,str); for(int i=2;i<10;i++) cout<<str[i]; return 0; }
문자 개수 세기
첫 번째 줄에 공백을 포함할 수도 있는 문자열이 주어지고, 두 번째 줄에 소문자 알파벳이 주어지면 앞서 주어진 문자열에 해당 소문자 알파벳이 몇 개 있는지 세어 출력하는 프로그램을 작성해보세요.
#include <iostream> #include <string> using namespace std; int main(){ int cnt = 0; char tmp; string str; getline(cin,str); cin >> tmp; for(int i=0;i<str.length();i++){ if(str[i]==tmp) cnt++; } cout<<cnt; return 0; }
공백을 기준으로 출력
공백을 포함한 문자열이 두 줄 주어졌을 때, 주어진 문자열을 공백을 제외하여 다시 출력하는 프로그램을 작성해보세요.
#include <iostream> #include <string> using namespace std; int main(){ string str1,str2; getline(cin,str1); getline(cin,str2); str1 += str2; for(int i=0;i<str1.length();i++){ if(str1[i]==' ') continue; cout<<str1[i]; } return 0; }
'데일리 codeup > 문자열' 카테고리의 다른 글
문자열 밀기_220716 (0) 2022.07.16 문자 수정, 문자 삭제_220716 (0) 2022.07.16 문자열 concat, 문자열 찾기_220714 (0) 2022.07.14 문자열 순회하기_220714 (0) 2022.07.14 문자열 리스트 관리_220713 (0) 2022.07.13