标题:C++ 输入多行字符串以ctrl+z结束问题
取消只看楼主
UJN923600725
Rank: 1
等 级:新手上路
帖 子:13
专家分:5
注 册:2017-11-26
结帖率:66.67%
已结贴  问题点数:10 回复次数:1 
C++ 输入多行字符串以ctrl+z结束问题
题目描述
编写函数完成字符串反转。要求必须使用C++字符串,必须使用函数
输入

输入有多行,每一行代表一个字符串。 输入行数不确定,以ctrl+z结束。
输出
输出翻转后的字符串。每个字符串占一行。
样例输入
who's your daddy
my daddy is Li Gang
样例输出
yddad ruoy s'ohw
gnaG iL si yddad ym
提示

对于多行判断,可采用while(getline(cin, str))来实现,如果getline获取到ctrl+z,则退出while循环。





于是我写了这样一个代码

程序代码:
#include <iostream>
#include <string>
using namespace std;

string invert(string str,int n) 
{
    char temp;
    for(int i=0;i<n/2;i++)
      {
        temp=str[i];
        str[i]=str[n-1-i];
        str[n-1-i]=temp;
      } 
    for(int j=0;j<n;j++)
    cout<<str[j];
    cout<<endl;
}

int main()
{
    string str;
    int n;
    while(getline(cin,str))
    {   
        n=str.size();
        invert(str,n);
    }
}



问题1 : 输入样例who's my daddy ,下一行确实出现了yddad ruoy s'ohw ,而当我准备输入第二行样例的时候他顿了一下结束了(输入任意键继续那个)

问题2 ; 这个以ctrl+z结束要怎么操作啊

求大佬讲解一下~!蟹蟹~!
搜索更多相关主题的帖子: 输入 字符串 ctrl 结束 str 
2018-06-20 02:02
UJN923600725
Rank: 1
等 级:新手上路
帖 子:13
专家分:5
注 册:2017-11-26
得分:0 
回复 2楼 rjsp
用的dev c++呀
2018-06-20 09:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-488015-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.366630 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved