找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 1463|回复: 5

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

[复制链接]
发表于 2009-11-3 01:37:48 | 显示全部楼层 |阅读模式 IP:江苏扬州
#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)好像不行,有其它的方法吗?
大家帮帮忙.
发表于 2009-11-3 01:37:49 | 显示全部楼层 IP:江苏扬州
直接用cin输入就行拉,如:
char x[100];
cin>>x;
cout<<x<<endl;
回复

使用道具 举报

发表于 2009-11-3 01:37:50 | 显示全部楼层 IP:江苏扬州
用cin好像不行,cin提供输入的时候会自动以空格作为分界
所以cin并不能读入一行字符
回复

使用道具 举报

发表于 2009-11-3 01:37:52 | 显示全部楼层 IP:江苏扬州
用getline好了
回复

使用道具 举报

发表于 2009-11-3 01:37:55 | 显示全部楼层 IP:江苏扬州
题中gets(s)换成cin.getline(s,100)是可以的  我在VC++上试过
回复

使用道具 举报

发表于 2009-11-3 01:37:58 | 显示全部楼层 IP:江苏扬州
#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();
}
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 07:19 , Processed in 0.203859 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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