单词翻转
内存限制:512Mb 时间限制:1s
题目描述
小明同学写单词的时候喜欢反着写,比如 hello
他会写成 olleh
。给出小明同学写的一个句子,请你将所有的单词复原。
输入
共一行,一个字符串表示句子,单词之间以空格分隔。
输出
每个单词一行。
样例输入1
olleh dlrow
样例输出1
hello world
提示
句子长度不超过 100100,仅包含小写字母和空格,不存在多余的空格。
下面是代码:
#include<iostream>
#include<string>
#include<sstream>
using namespace std;
int main(){
string s;
//cin>>s;整行输入getline
getline(cin,s);
istringstream iss(s);
string word;
while(iss>>word)
{
for(int i=word.size()-1;i>=0;i--){
cout<<word[i];
}
cout<<endl;
}
return 0;
}
这是一道很简单入门的字符串的题,但从中学习到了新的文件流操作知识,头文件#include<sstream>和里面的一个类istringstream可以做到获取一段句子中单独字符串,也即把这段字符串当成输入流<<读取,之后我们再用一个新定义一个字符串来存取,比如题目中word存取的就是olleh dlrow,之后倒序输出时依次对两个字符串进行访问,也即代码中iss>>word,体现了输入流的作用。
欢迎大家指正与批评。