文本反转

57 篇文章 1 订阅

1.题目
  在多数语言中,文本都是从左写到右。然而,有些语言中,文本是从右写到左。现在,你将来编写一个程序,把一段从左到右书写的文本自动转换为从右到左的文本。
2.输入
  输入包含多个测试案例。第一行是一个整数,代表测试案例的数目。每个测试案例由一行组成,至多70个字符。但是,每行末尾的换行符不作为该测试案例的字符。
3.输出
  对于每个测试案例,输出它的反转文本。
4.输入案例

3
Frankly, I don’t think we’ll make much
money out of this scheme.
madam I’am adam
5.输出案例

hcum ekam ll’ew kniht t’nod I ,ylknarF
.emechs siht fo tuo yenom
mada m’I madam
解答:
  本题要求将一行文本从左到右完全翻转,即镜像。采用reverse算法,即可一次性将一个字符串string从头到尾翻转,这就是泛型编程的强大与方便之处。
  本题采用cin.getline()进行 行输入,由于数据比较规范,所以,第一行的整数,可以忽略掉。程序只要一行一行往下读就行了,直到读不出数据就终止。这点,给我们一些启示,输入数据中的所有数据并不是都对我们有用,有些数据,完全可以忽略掉,这就是解题的灵活性。
  //reverseTxt  

#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;
}

效果如下:

这里写图片描述

图(1)依次3个字符串,依次反转

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sanqima

一键三连,多多益善

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值