问题描述
给出n个数,找出这n个数的最大值,最小值,和。
输入格式
第一行为整数n,表示数的个数。
第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。
输出格式
输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。
数据规模与约定
1 <= n <= 10000。
思考:题目为对一串数字求最大值、最小值、求和。可以将这串数字直接进行排序,利用for简单求和就可以了。
第一步:要循环输入N个无规则的数字,利用数组与for循环,循环输入数据。
第二步:对数列进行排序,排序方法很多,我用的冒泡排序把(不是很确定)
注意:建立数组的时候,要分配足够大的空间,因为在题目中要求n< 10000
具体代码如下:
# include <stdio.h>
# define N 10000//宏定义
int main()
{
int n,i,j,f[N];
int tmp,add=0;
scanf("%d",&n);//输入数字个数
for(i=0;i<n;i++)//输入具体数字,利用for和数组
{
scanf("%d",&f[i]);
}
for(i=0;i<n;i++)//排序(从小到大)
{
for(j=i+1;j<n;j++)
{
if(f[i]>f[j])
{
tmp=f[j];
f[j]=f[i];
f[i]=tmp;
}
}
}
for(i=0;i<n;i++)//求和
{
add=add+f[i];
}
printf("%d\n",f[n-1]);
printf("%d\n",f[0]);
printf("%d\n",add);
return 0;
}