10. 문자열을 하나 입력받고 문자열의 부분 문자열을 다음과 같이 출력하는 프로그램을 작성하라.

 

sol1. 배열 활용

...더보기
#include <iostream>
#include <string>
using namespace std;
int main() {
	char str[100]; 
	int length=0;
	cout << "문자열 입력>>";
	cin.getline(str,100);
	length = strlen(str);
	for (int i = 0; i < length; i++) {
		for(int j=0; j<=i; j++)
			cout << str[j];
		cout << endl;
	}
}

 

 

 

sol2.  string 클래스의 멤버 함수 사용하기

 

...더보기
#include <iostream>
#include <string>
using namespace std;
int main() {
	string str;
	cout << "문자열 입력>>";
	getline(cin, str);
	for (int i = 0; i < str.length(); i++) {
		for(int j=0; j<=i; j++)
			cout << str[j];
		cout << endl;
	}
}

C++에서는 string 객체에 관한 length()나 size() 함수가 정의되어 있다. (p.194 195)

sol1과 달리 string 객체는 배열의 크기에 제한이 없어서 크기를 미리 고려하지 않아도 된다는 장점이 있으므로 2번 방법이 더 좋은 해결방법이라고 할 수 있다. 

BELATED ARTICLES

more