将20个数放在一个数组中,求这20个数的最大值、最小值、和、平均值(C语言编写)

如题所述

#include <stdio.h>
#define N 20
//求最大值函数
int max_func(int a[],int n)
{
int i,max;
for(max=a[0],i=1;i<N;i++)  //初始默认最大值为a[0],遍历数组元素
if(max<a[i])  //如果当前最大值<当前数组元素,则将该元素赋值给max
max=a[i];
return max;
}
//求最小值函数
int min_func(int a[],int n)
{
int i,min;
for(min=a[0],i=1;i<N;i++)  //初始默认最小值为a[0],遍历数组元素
if(min>a[i])  //如果当前最小值>当前数组元素,则将该元素赋值给min
min=a[i];
return min;
}
//求和函数
int sum_func(int a[],int n)
{
int i,sum;
for(i=sum=0;i<N;i++)  //初始设置sum=0,遍历数组元素
sum+=a[i];  //累加数组元素
return sum;
}
//求平均值函数
float ave_func(int a[],int n)
{
int i,sum;
float ave;
for(i=sum=0;i<N;i++)  //初始设置sum=0,遍历数组元素
sum+=a[i];  //累加数组元素
ave=1.0*sum/n;  //求平均值
return ave;
}
int main()
{
int arr[N],i;
int max,min,sum;
float ave;
for(i=0;i<N;i++)  //输入20个数组元素
scanf("%d",&arr[i]);
max=max_func(arr,N);  //调用max_func()函数
min=min_func(arr,N);  //调用min_func()函数
sum=sum_func(arr,N);  //调用sum_func()函数
ave=ave_func(arr,N);  //调用ave_func()函数
printf("最大值=%d\n最小值=%d\n和=%d\n平均值=%.2f\n",max,min,sum,ave);  //输出结果
return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-16
#include <stdio.h>
void main()
{
int i,max,min,a[20],sum=0;
float aver=0;
printf("请输入20个整数:");
for (i=0;i<20;i++)
{
scanf("%d",&a[i]);
sum+=a[i];
}
aver=sum/10.0;
max=a[0];
min=a[0];
for(i=0;i<20;i++)
{
if(a[i]>max)
max=a[i];
if(a[i]<min);
min=a[i];
}
printf("最大值为%d\n",max);
printf("最小值为%d\n",min);
printf("平均值为%.1f\n",aver);
}
你运行一下看看我做的合适不?本回答被网友采纳
相似回答