从易到难编写C++程序,(1)个人解答:把键盘输入的字符串逆序输出。
2007-06-04 08:17
866 查看
/*Copyright(c)2007,九天雁翎 *Allrightsreserved. *从易到难编写C++程序,(1)问题:把键盘输入的字符串逆序输出。 *完成日期:2007年5月31日 */ #include"stdafx.h" #include<iostream> #include<string> #include<vector> #include<algorithm> #include<iomanip> usingnamespacestd; typedefvector<string>::const_iteratorc_iter; intmain() { vector<string>svec;//因为要识别空格,还要换行,光一个string是不行的 stringstr; cout<<"Pleaseinputthestringyouwanttoreverse:"<<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); }//endofwhile reverse(svec.begin(),svec.end());//这一步可以在下一步用反向迭代器替换 for(c_iterit=svec.begin();//输出svec it!=svec.end();++it) { cout<<*it<<endl; }
return0; }
//这是我个人见过最笨的方法,仅仅作为一种个人学习的历史保留,勿学,好的解答参考同题解答(2)
相关文章推荐
- 从易到难编写C++程序,(1)个人解答(2):把键盘输入的字符串逆序输出。
- 从易到难编写C++程序,(2)个人解答:把键盘输入的16,10,8进制数转换为2进制输出。
- 从易到难编写C++程序,(1)问题:把键盘输入的字符串逆序输出。
- 编写程序通过栈的方式将任意输入的字符串内容进行逆序输出。
- 编写程序通过栈的方式将任意输入的字符串内容进行逆序输出。
- (华为机考题)通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。
- 机试题:过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。
- 编写程序通过栈的方式将任意输入的字符串内容进行逆序输出。
- C++:利用如下公式,编写函数计算∏的值,直到最后一项的绝对值小于e,主程序接收从键盘输入的e,输出∏的值(保留5位小数)。 ∏/4 = 1-1/3+1/5-1/7...
- 华为:通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串
- 华为机试——通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串
- 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。
- 编写程序通过栈的方式将任意输入的字符串内容进行逆序输出。
- 编写程序通过栈的方式将任意输入的字符串内容进行逆序输出。
- 通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。 输入字符串的格式为:“操作数1 运算符 操作数2”,“操作数”与“运算符”之间以一个空格隔开。 补充说明: 1、操作数为
- 编写程序通过栈的方式将任意输入的字符串内容进行逆序输出。
- 编写程序通过栈的方式将任意输入的字符串内容进行逆序输出。
- 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。 压缩规则: 1、仅压缩连续重复出现的字符。比如字符串"abcbc
- 通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。
- 编写程序通过栈的方式将任意输入的字符串内容进行逆序输出。