设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 1436|回复: 5
打印 上一主题 下一主题

一个关于cin输入字符串的问题

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-3 01:37:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<iostream.h>
#include<string.h>
#include<stdio.h>
int main()
{
int N;
int n;
int i,j,k,index,length,x,m;
char s[100];
cin>>N; //先输入N
cout<<endl;
for(i=0;i<N;i++)
{
cin>>n; //再输入n
for(j=0;j<n;j++)
{
gets(s);
m=0;
length=strlen(s);
for(k=0;k<length+1;k++)
if(s[k]==' '||s[k]=='\0')
{
index=k;
for(x=index-1;x>=m;x--)
{
cout<<s[x];
}
if(index!=length)
cout<<" ";
m=index+1;
}
cout<<endl;
}
if(i!=N-1)
cout<<endl;
}
return 0;
}
这个程序是输入一行字符后,反序输出
Sample Input
1
3
I am happy today
To be or not to be
I want to win the practice contest

Sample Output
I ma yppah yadot
oT eb ro ton ot eb
I tnaw ot niw eht ecitcarp tsetnoc
想问一下在C++中如何读入一行字符,题中gets(s)换成cin.getline(s,100)好像不行,有其它的方法吗?
大家帮帮忙.
2#
发表于 2009-11-3 01:37:49 | 只看该作者
直接用cin输入就行拉,如:
char x[100];
cin>>x;
cout<<x<<endl;
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-3 01:37:50 | 只看该作者
用cin好像不行,cin提供输入的时候会自动以空格作为分界
所以cin并不能读入一行字符
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-3 01:37:52 | 只看该作者
用getline好了
回复 支持 反对

使用道具 举报

5#
发表于 2009-11-3 01:37:55 | 只看该作者
题中gets(s)换成cin.getline(s,100)是可以的  我在VC++上试过
回复 支持 反对

使用道具 举报

6#
发表于 2009-11-3 01:37:58 | 只看该作者
#include <iostream>
using namespace std;
#include <string>
int main()
{
string stra;
int ia;

getline(cin, stra);

for (ia = stra.size() - 1; ia >= 0; ia--)
{
cout.put(stra[ia]);
}
cin.get();
cin.get();
}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 06:26 , Processed in 0.076929 second(s), 9 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表