C++中,怎样输入多组数据后,处理完毕后一起输出多组数据的结果 5
这是我的程序,WOJ上1064这道题:#include<iostream>#include<stdlib.h>usingnamespacestd;intmain(){in...
这是我的程序,WOJ上1064这道题:
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int n;
int a[50000];
cin>>n;
for (int i=0;i<50000;i++)
a[i]=0;
for (int i=0;i<n;i++)
{
int temp;
cin>>temp;
a[temp]=temp;
}
for (int i=0;i<50000;i++)
{
if (a[i] != 0)
cout<<a[i]<<" ";
}
system("pause");
return 0;
}
比如我输入:
5
1 2 5 4 5
回车后输出结果:
1 2 4 5
但我想的效果是可以输入多组:
input:
5
1 2 5 4 5
2
1 2
output:
1 2 4 5
1 2
求指导~~嗷嗷~ 展开
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int n;
int a[50000];
cin>>n;
for (int i=0;i<50000;i++)
a[i]=0;
for (int i=0;i<n;i++)
{
int temp;
cin>>temp;
a[temp]=temp;
}
for (int i=0;i<50000;i++)
{
if (a[i] != 0)
cout<<a[i]<<" ";
}
system("pause");
return 0;
}
比如我输入:
5
1 2 5 4 5
回车后输出结果:
1 2 4 5
但我想的效果是可以输入多组:
input:
5
1 2 5 4 5
2
1 2
output:
1 2 4 5
1 2
求指导~~嗷嗷~ 展开
3个回答
展开全部
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int n;
int a[50000];
while (cin>>n) //当没有n输入的时候结束循环,可以按 ctrl+z 来输入结束符EOF
{
for (int i=0;i<50000;i++)
a[i]=0;
for (int i=0;i<n;i++)
{
int temp;
cin>>temp;
a[temp]=temp;
}
for (int i=0;i<50000;i++)
{
if (a[i] != 0)
cout<<a[i]<<" ";
}
}
system("pause");
return 0;
}
#include <stdlib.h>
using namespace std;
int main()
{
int n;
int a[50000];
while (cin>>n) //当没有n输入的时候结束循环,可以按 ctrl+z 来输入结束符EOF
{
for (int i=0;i<50000;i++)
a[i]=0;
for (int i=0;i<n;i++)
{
int temp;
cin>>temp;
a[temp]=temp;
}
for (int i=0;i<50000;i++)
{
if (a[i] != 0)
cout<<a[i]<<" ";
}
}
system("pause");
return 0;
}
追问
先谢谢你。但是这段代码不是我想要的,我也写过。
当输完第一组:
5
1 2 5 4 5
回车之后,马上输出第一组的结果:
1 2 4 5
我想线不输出第一组的结果,等我把第二个case输进去之后,按ctrl + Z 后再输出两个case的结果。
追答
那就开多一个数组,保留之前的结果咯。
展开全部
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int n;
int j=0;
int sum=0;
int a[50000]={0};
int b[100]={0};
cout<<"请输入数组的个数,要退出请按非数字键!\n";
while(cin>>n)
{
b[j]=n;
j++;
for (int i=0;i<n;i++)
{
cin>>a[sum];
sum++;
}
}
sum=0;
for(j=0;b[j]!=0;j++)
{
for (int i=0;i<b[j];i++)
{
cout<<a[sum]<<" ";
sum++;
}
cout<<"\n";
}
system("pause");
return 0;
}
基本实现你的功能!
#include <stdlib.h>
using namespace std;
int main()
{
int n;
int j=0;
int sum=0;
int a[50000]={0};
int b[100]={0};
cout<<"请输入数组的个数,要退出请按非数字键!\n";
while(cin>>n)
{
b[j]=n;
j++;
for (int i=0;i<n;i++)
{
cin>>a[sum];
sum++;
}
}
sum=0;
for(j=0;b[j]!=0;j++)
{
for (int i=0;i<b[j];i++)
{
cout<<a[sum]<<" ";
sum++;
}
cout<<"\n";
}
system("pause");
return 0;
}
基本实现你的功能!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-10-12
展开全部
在外层嵌套一个while死循环,一直循环,在循环内部判断是否满足中断的条件,具体方法很多,楼上的是其中一种
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询