多输入输出练习1
简单输入输出
空间限制:16MB时间限制:1s总提交数:2160通过率:39.17%题目来源: 站点添加
给定很多行数据,要求输出每一行的最大值.
程序有多行输入,每一行以0结束.
有多行输出,对应输入的行数.
23 -456 33 78 0
43 23 987 66 -137 324 0
544 27 7 9 102 234 -44 -732 723 0
78
987
723
有两种做法,一种是不使用数组,另一种是使用数组的方法,两种方法都可以通过。
第一种是一直在输入,同时,比max小的数字就会销毁
第二种是上面的那个原理,不过是再最后的输出是一直输入的全部结果,使用数组进行对数字
存放。
题目的编程来自于广东技术师范大学的在线判题系统,简称为OJ系统,
希望下载的浏览器是谷歌浏览器,这样可以更好体验我们学校的编程网站,
题目来源 广东技术师范大学在线判题网站http://www.gpnuacm.com/#/home
第一种方法
#include <stdio.h>
int main()
{ int max,n;
n=0;max=0;
while(scanf("%d",&n)!=EOF)//这里建议使用EOF,如果使用了while(1),就会超时不能通过
{ max=n;
while(scanf("%d",&n))
{
if(n==0)
break;
else
if(max<n)
max=n;
}
printf("%d\n",max);
}
return 0;
}
第二种
#include <stdio.h>
int main()
{ int i,j,a[66],n,max=0;
i=0;j=0;
while(scanf("%d",&n)!=EOF)
{ i=0; //重置很重要
if(n!=0)
{
if (max<n)
max=n;
else
continue;//接着第一种方法进行循环
//当出现零就进行储存这个答案
}
else
{
//把每个输出存储进一个数组里
a[i]=max;
i++;
max=0;
}
for(j=0;j<i;j++)
printf("%d\n",a[j]);
}
return 0;
}