输入格式
第一行为整数 n,表示数的个数。
第二行有 n 个数,为给定的 n 个数,每个数的绝对值都小于 10000。
如输入:
Enter n:5
-1 5 9 32 2
输出
max=32
min=-1
sum=47
解题思路
本题求最大值与最小值运用的是打擂台的算法思路:
依次读入数据,按先后顺序存入一个变量,后读入的数与前面读入的数比,输出较大的一个。相当于像打擂台的时候一个一个上,赢得留下,输的下去,最终比较得到最大值与最小值。
#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 10000
int main()
{
int a[MAXSIZE];
int i,n,sum=0;
int min=MAXSIZE,max=-MAXSIZE;
printf("Enter n:");
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
{
{
if(a[i]<min)
min=a[i];
}
{
if(a[i]>max)
max=a[i];
}
sum+=a[i];
}
printf("max=%d\n",max);
printf("min=%d\n",min);
printf("sum=%d\n",sum);
return 0;
}