求C语言程序。 输入n个数,求他们的平均值,最大值,最小值,并排序。用数组的知识。谢谢!

如题所述

#include<stdio.h>
#include<stdlib.h>
int main()
{int n,i,j,tmp,sum,a[1000];
printf("请输入n的值:\n");
scanf("%d",&n);
printf("请输入%d个数:\n",n);
for(i=0;i<n;i++)
{scanf("%d",&a[i]); //录入数据。
sum=sum+a[i]; //直接求和,方便后面求平均值
}
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]<a[j])//此处为选择排序法,降序,若升序将”<“改为“>”
{
tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
printf("平均值为%d,最大值为%d,最小值为%d",sum/n,a[0],a[n-1]);
printf("排序后的数组为:\n");
for(i=0;i<n;i++)
printf("%d ",a[i]);
system("pause");
return(0);
}追问

好的

追答

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-27
#include<stdio.h>#define N 10
void main(){
int a[100];
int max,min,sum=0,tmp;
float aver;

for(int i=0;i<N;i++) {
scanf("%d",&a[i]);
}
for(int i =0;i<N;i++)
{

for(int j =i;j<N;j++)
{
if(a[i]>a[j])
{
tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
}
}
for(int i=0;i<N;i++)
{
sum += a[i];

}
max =a[N-1];
min = a[0];
aver = sum/N;
printf("max = %d\n",max);
printf("min = %d\n",min);
printf("aver = %f\n",aver);

for(int i=0;i<N;i++) {
printf("%d ",a[i]);
}
return ;
}
相似回答