问题标题: 酷町堂:1140

0
0
已解决
范皓翔
范皓翔
初级光能
初级光能

1140   字符串倒转经验值:0

题目描述 Description

输入一个句子,将句子中的每一个单词翻转后输出。

输入描述 Input Description

只有一行,为一个字符串,不超过100个字符。单词之间以空格隔开(可能会有不止一个空格)。

输出描述 Output Description

翻转每一个单词后的字符串,单词之间的空格需与原文一致。

样例输入 Sample Input

cute and smart

样例输出 Sample Output

etuc dna trams


0
1
0
邵悦媛
邵悦媛
新手光能
新手光能
  • for(int i=1;i<=s.size()-1;i++){
  • if(s[i-1]==' ' && s[i]!=' ')
  • p=i;
  • if(s[i+1]==' ' && s[i]!=' '){
  • a=s.substr(p,i-p+1);
  • for(int j=a.size()-1;j>=0;j--)
  • cout<<a[j];
  • }
  • if(s[i]==' ')
  • cout<<s[i];
  • }
  • 大概是这样;
0
0
汤启恩
汤启恩
新手光能
新手光能

字符串首尾加空格,遍历字符串1~s.size()-2,如果碰到空格就输出,否则将两个空格之间的字符存到另一个字符串中,定义f=0,如果存进去了,f=1,如果f==1的话就写函数把这个字符串倒着输出,注:最后还要输出一个空格.即可AC

0
陈振轩
陈振轩
高级光能
高级光能
    s=s+" ";
    for(int i=1; i<s.size(); i++){
        if(s[i]==' '){
            cout<<ReversionString(s.substr(Index, CNT));
            if(Index==0)
                cout<<" ";
            Index=i;
            CNT=0;
        }
        CNT++;
    }

核心部分,ReversionString为一个倒转字符串的函数,Index的初值为0,CNT的初值为1

我要回答