C++题目 字符串逆序输出

题目要求:将一个字符串str的内容颠倒过来,并输出。str的长度不超过100个字符。输入:从键盘接收的任意一行字符串。输出:转换好的逆序字符串。示例输入:Iamastud... 题目要求:
将一个字符串str的内容颠倒过来,并输出。str的长度不超过100个字符。
输入:
从键盘接收的任意一行字符串。
输出:
转换好的逆序字符串。
示例输入:
I am a student
示例输出:
tneduts a ma I
展开
 我来答
chujiangke001
推荐于2017-09-28 · TA获得超过1605个赞
知道小有建树答主
回答量:1352
采纳率:0%
帮助的人:685万
展开全部

#include <iostream>

#include <string>

using namespace std;

int main()

{


    string a;

    getline(cin,a);

    string b(a.rbegin(),a.rend());

    cout<<b;


return 0;

}


追问
getline(cin,a);
string b(a.rbegin(),a.rend());
不好意思,以上两句能简单解释下吗。。。不是很懂getline以及迭代器的用法。。C++初学者。。
追答
看下http://www.cplusplus.com/reference/
里面的string api
Metaphor90
推荐于2017-09-02 · TA获得超过202个赞
知道小有建树答主
回答量:146
采纳率:0%
帮助的人:129万
展开全部
//使用STL实现,四行代码即可,供参考:
#include <string>
#include <iostream>
#include <algorithm>
using namespace std;
void main()
{
 string strTmp = "";
 cin >> strTmp;
 reverse(strTmp.begin(), strTmp.end());
 cout << strTmp << endl;
}
追问
当输入的字符串含有空格时,输出不对
追答

因为有空格被cin识别为分割符。

支持空格的代码如下:

#include <string>
#include <iostream>
#include <algorithm>
using namespace std;
void main()
{
 string strTmp = "";
 getline(cin, strTmp, '\n');
 reverse(strTmp.begin(), strTmp.end());
 cout << strTmp << endl;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
菜刀撒
2013-10-30 · TA获得超过313个赞
知道小有建树答主
回答量:487
采纳率:0%
帮助的人:274万
展开全部
告诉你方法你自己去实现

就是 统计字符串的长度len;
然后第一个字符和最后一个对调
第2个和倒数第2个对调
如果len是奇数那么刚好对调(len-1)/2次
len是偶数就对调len/2次
自己想想就是这么搞 这样算法效率最高 只需要1个临时变量就可以

最快回答这个 其实是一种取巧的做法 没有真正把字符串就地逆置
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6a6aa8c
2013-10-30 · TA获得超过1483个赞
知道小有建树答主
回答量:707
采纳率:100%
帮助的人:728万
展开全部
#include <string.h>
#include <iostream>

#define  N  100
using namespace std;

int main(int argc,char** argv)
{
char text[N]={0};
cout<<"请输入一字符串:"<<endl;
cin.getline(text,N);
int len=strlen(text);
char* p=text+len;
cout<<"逆序输出为:"<<endl;
while ((p--)!=text)
{
cout<<*p;
}
cout<<endl;
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式