명품 c++ 예제 4-13 문자열을 입력 받고 회전시키기

题目

빈칸을 포함하는 문자열을 입력 받고, 한 문자씩 왼쪽으로 회전하도록 문자열을 변경하고 출력하라.

运用的函数

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值