c++中如何输入多行数据!!!!
打个比方,我要输入n个字符串(n未知),每个字符串占一行(直到没有数据输入才停止)然后再依次输出这n个字符串,每个占一行。关键请教我如何控制输入输出,谢谢高人!!...
打个比方,我要输入n个字符串(n未知),每个字符串占一行(直到没有数据输入才停止)然后再依次输出这n个字符串,每个占一行。 关键请教我如何控制输入输出,谢谢高人!!
展开
7个回答
展开全部
#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中均运行通过...
#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中均运行通过...
展开全部
//用数组保存。
//用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;
}
//用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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
循环 设置个结束字符。因为是每行一个字符串所以不能以回车作为结束符了 楼上的代码n成已知的了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写循环。。每次输如1个字符串。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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"));
copy(istream_iterator<char>(cin),istream_iterator<char>(),back_insert_iterator<vector<char> >(Vec));
copy(Vec.begin(),Vec.end(),ostream_iterator<char>(cout,"\n"));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询