/*Copyright (c) 2007,九天雁翎
* All rights reserved.
* 从易到难编写C++程序,(1)问题:把键盘输入的字符串逆序输出。
* 完成日期:2007年5月31日
*/
#include "stdafx.h"
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <iomanip>
using namespace std;
typedef vector<string>::const_iterator c_iter;
int main()
{
vector<string> svec; //因为要识别空格,还要换行,光一个string是不行的
string str;
cout<<"Please input the string you want to reverse:"<<endl;
//开始想以eof为结束,后来后悔了,以'!'为结束,
//开始我用cin作输入,后来后悔了,还是getline好
while(true)
{
getline(cin, str);
if(str.empty()) //假如输入空格也不应该算错误
{
svec.push_back(str);
continue;
}
if(*(str.end() - 1) == '!') //判断什么时候结束
{
str.erase(str.end() - 1); //去掉结束符号
reverse(str.begin(), str.end()); //利用标准库的算法逆序str
svec.push_back(str);
break;
}
reverse(str.begin(), str.end()); //利用标准库的算法逆序str
svec.push_back(str);
}//end of while
reverse(svec.begin(), svec.end()); //这一步可以在下一步用反向迭代器替换
for(c_iter it = svec.begin(); //输出svec
it != svec.end();++it)
{
cout<<*it<<endl;
}
return 0;
}
//这是我个人见过最笨的方法,仅仅作为一种个人学习的历史保留,勿学,好的解答参考同题解答(2)
分享到:
相关推荐
c++ 字符串逆序输出 用vs2005打开
简单汇编程序:输入字符串逆序输出(两种)
字符串逆序+c语言字符串逆序输出+c语言字符串逆序逐行解释字符串逆序+c语言字符串逆序输出+c语言字符串逆序逐行解释字符串逆序+c语言字符串逆序输出+c语言字符串逆序逐行解释字符串逆序+c语言字符串逆序输出+c语言...
用来实现 实现字符串逆序输出的c++代码。
1162:字符串逆序 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 31557 通过数: 20735 【题目描述】 输入一串以‘!’结束的字符,按逆序输出。 【输入】 如题述。 【输出】 如题述。 【输入样例】 abc! 【输出...
C++输入字符串逆序输出
逆序输出任意字符串 逆序输出任意字符串 逆序输出任意字符串 逆序输出任意字符串 逆序输出任意字符串
C语言程序设计-将主函数中输入的字符串反序存放;例如:输入字符串“abcdefg”,则应输出“gfedcba”;.c
只用简单几句话,实现逆序输出.使用gets和putchar来实现
字符串逆序输出算法,使用的C++算法,算法精巧
一个小程序,实现字符串的逆序和调序输出。
字符串逆序输出StrReverse,上级测试成功
递归逆序输出字符串,代码自己看吧!!
将字符串逆序算法示例 VC CUI程序 字符串逆序算法示例 VC CUI程序 字符串逆序算法示例 VC CUI程序
使用逆序来排列字符串并判断输入的字符串是否为回文
输入字符串(最多100个字符串),逆序输出
java 利用栈将字符串逆序输出 java 利用栈将字符串逆序输出 java 利用栈将字符串逆序输出
要求输入一个字符串,然后实现这个字符串的逆序存放
用字符数组方法:基本思路是,先判断字符的结束标志’\0’,然后从该位置向前输出。实现代码: 代码如下:#include<iostream>using namespace std;int main(){ char a[50]; cout<<“please input a string:”...
本程序逆序输出字符串,使用者可根据自身需要进行下载