注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

告别迷茫

梦想与现实的差距,就是我们生活的意义。因为我们有差距,我们才会一直积累,在努力。

 
 
 

日志

 
 

Reverse Text  

2014-03-20 23:36:43|  分类: STL ACM |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
In most languages, text is written from left to right. However, there are other languages
where text is read and written from right to left. As a first step towards a program that
automatically translates from a left-to-right language into a right-to-left language and back, you
are to write a program that changes the direction of a given text.
Input Specification
The input contains several test cases. The first line contains an integer specifying the
number of test cases. Each test case consists of a single line of text which contains at most 70
characters. However, the newline character at the end of each line is not considered to be part of
the line.
Output Specification
For each test case, print a line containing the characters of the input line in reverse order.
Sample Input
3
Frankly, I don't think we'll make much
money out of this scheme.
madam I'm adam
Sample Output
hcum ekam ll'ew kniht t'nod I ,ylknarF
.emehcs siht fo tuo yenom
mada m'I madam
4.11.4 题目来源
Southwestern Europe 1996, Practice

解题思路
本题要求将一行文本从左到右完全翻转,即镜像。采用 reverse 算法,即可一次性将一
个字符串 string 从头到尾翻转,这就是泛型编程的强大功能。在比赛中,如果采用 C 语言
写个循环来处理这样的事情,那需要比较多的时间去编程,还可能出错,显然,没有任何
竞争力。
本题采用 cin.getline()进行行输入,由于数据比较规范,所以,第一行的整数,可以忽
略掉。程序只要一行一行往下读就行了,直到读不出数据就终止。这点,给我们一些启示,
输入数据中的所有数据并不是都对我们有用,有些数据,完全可以忽略掉,这就是解题上
的灵活性


C++中有两个getline函数,这两个函数分别定义在不同的头文件中。


1.getline()是定义在<string>中的一个行数,用于输入一行string,以enter结束。

 

函数原型:getline(cin,str);
cin:istream类的输入流对象
str:待输入的string对象



cin.getline(char ch[],size)是cin 的一个成员函数,定义在<iostream>中,用于输入行指定size的字符串,以enter结束。若输入长度超出size,则不再接受后续的输入。

 



#include <fstream>
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main(int argc, char* argv[])
{
ifstream cin("aaa.txt");
string s;
char ss[80];
int n=0;
while(cin.getline(ss,80))
{
if(n==0)n=1;//跳过第一行输入
else
{
s=ss;
reverse(s.begin(),s.end());
cout<<s<<endl;
}
}
return 0;
}


  评论这张
 
阅读(11)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017