题目
빈칸을 포함하는 문자열을 입력 받고, 한 문자씩 왼쪽으로 회전하도록 문자열을 변경하고 출력하라.
运用的函数
substr 函数 用来获取一部分的字符串
length 函数 用来记录函数的长度
解题思路
先输入字符–读取长度—利用substr 来读取剩下的字符串和分离第一个字母
答案
#include <iostream>
#include <string>
using namespace std;
int main(int argc, const char * argv[]) {
string s;
cout << "输入字符串():"<< endl;
getline(cin, s,'\n'); //输入字符串
int len = s.length(); //字符串的长度
cout << "解析字符串" << endl;
for(int i=0;i<len;i++){
string first = s.substr(0,1);//从字符串中分离出第一个字母出来
string sub = s.substr(1,len-1);//剩下的字符串
s = sub + first; //剩下的加上第一个字母
cout << s << endl;
}
展示函数的用法
//解释下上面函数的意思
cout << "what is the funtion of s.substr(0,1) : " <<endl << s.substr(0,1)<<endl;
cout << "what is the funtion of s.substr(1,len-1)"<<endl << s.substr(1,len-1)<<endl;
cout << "what is the funtion of len? "<<endl<< len<<endl ;
}
结果图
输入字符串():
I love you
解析字符串
love youI
love youI
ove youI l
ve youI lo
e youI lov
youI love
youI love
ouI love y
uI love yo
I love you
what is the funtion of s.substr(0,1) :
I
what is the funtion of s.substr(1,len-1)
love you
what is the funtion of len?
10
Program ended with exit code: 0