c++中如何输入多行数据!!!!

打个比方,我要输入n个字符串(n未知),每个字符串占一行(直到没有数据输入才停止)然后再依次输出这n个字符串,每个占一行。关键请教我如何控制输入输出,谢谢高人!!... 打个比方,我要输入n个字符串(n未知),每个字符串占一行(直到没有数据输入才停止)然后再依次输出这n个字符串,每个占一行。 关键请教我如何控制输入输出,谢谢高人!! 展开
 我来答
百度网友b79519e
推荐于2016-10-05 · TA获得超过3399个赞
知道大有可为答主
回答量:1417
采纳率:100%
帮助的人:1324万
展开全部
#include<iostream.h>
#define N 5//通过改变N的值控制输入的行数,如果是5的话,就不要输入6个字符串,否则会越界
void main()
{ char *s[N];
int n;
cin>>n;
for(int i=0;i<N;i++)
{
s[i]=new char [n];//每个字符串的长度必须小于n
cin>>s[i];}
for(i=0;i<N;i++)
cout<<s[i]<<endl;
for(i=N-1;i>=0;i--)
delete s[i];

}
勉强能实现你的要求,还有一个错误,不是很清楚,欢迎交流...
呵呵,修改后的程序能正常运行....
下面的代码也可以解决问题:
#include<iostream.h>
void main()
{
int i,n;
cin>>n;//输入的字符串数
char **p;
p=new char *[n];
for(i=0;i<n;i++)
{p[i]=new char [20];//每个字符串的最大长度,可根据需要改变
cin>>p[i];}
for(i=0;i<n;i++)
cout<<p[i]<<endl;
for(i=n-1;i>=0;i--)
delete p[i];
}
以上程序在vc6.0中均运行通过...
panweiy
2011-05-26 · TA获得超过1239个赞
知道大有可为答主
回答量:760
采纳率:0%
帮助的人:716万
展开全部
//用数组保存。
//用for循环计数。
#include <iostream>
using namespace std;
char s[1000][100];
int main()
{
int n,i;
cout<<"n = ?"<<endl;
while( cin>>n )
{
gets(s[0]);
for(i=0;i<n;i++)
{
gets(s[i]);
}
cout<<"输出:"<<endl;
for(i=0;i<n;i++)
{
puts(s[i]);
}
cout<<"\n\n\nn = ?"<<endl;
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友caf18db2e
2011-05-26
知道答主
回答量:20
采纳率:0%
帮助的人:7.4万
展开全部
循环 设置个结束字符。因为是每行一个字符串所以不能以回车作为结束符了 楼上的代码n成已知的了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kissofblueice
2011-05-26 · TA获得超过471个赞
知道小有建树答主
回答量:814
采纳率:100%
帮助的人:581万
展开全部
写循环。。每次输如1个字符串。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
woshimuye
2011-05-26 · TA获得超过1336个赞
知道小有建树答主
回答量:884
采纳率:0%
帮助的人:740万
展开全部
vector<char> Vec;
copy(istream_iterator<char>(cin),istream_iterator<char>(),back_insert_iterator<vector<char> >(Vec));
copy(Vec.begin(),Vec.end(),ostream_iterator<char>(cout,"\n"));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式