题目介绍如下。
自己写的代码可以解决根据输入的数字个数和数字判断最大值最小值问题,但是我在处理多组数据连续输入的时候,实在处理不好,另外最大值最小值的判断是使用的函数,使得整个程序内存和运行时间都不大理想。
1
后来参考了答案,多组数据的输入的是通过一个while循环,利用scanf的返回值(scanf返回接收到的变量值的个数)进行判断,觉得十分巧妙。
整个代码如下:
#include <cstdio>
const int N = 101;
int main()
{
int a[N];
int n,i,max,min;
while(scanf("%d",&n)==1)
{
max = -1,min = 101;
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
if(a[i]>max) max = a[i];
if(a[i]<min) min = a[i];
}
printf("%d %d\n",max,min);
}
return 0;
}
它的最大值最小值的判断也十分精简,效率比函数实现高得多,希望自己能够从中学得一点思想。