设有一维数组a[10]={2,32,6,74,-14,68,0,-9,41,32},用C语言程序输
设有一维数组a[10]={2,32,6,74,-14,68,0,-9,41,32},用C语言程序输出此数组中最大值及此数组的平均值,并输出由小到大排序后的数组。...
设有一维数组a[10]={2,32,6,74,-14,68,0,-9,41,32},用C语言程序输出此数组中最大值及此数组的平均值,并输出由小到大排序后的数组。
展开
展开全部
#include<stdio.h>
int main()
{
int i,j,d,a[10]= {2,32,6,74,-14,68,0,-9,41,32};
int t=a[0];
double s=0;
for(i=1; i<10; i++)
if(t<a[i]) t=a[i];
printf("最大值为:%d\n",t);
for(i=0; i<10; i++)
s+=a[i];
printf("平均值为:%.2lf\n",s/10);
printf("从小到大排序后为:\n");
for(i=0; i<10; i++)
for(j=0; j<9-i; j++)
if(a[j]>a[j+1])
{
d=a[j];
a[j]=a[j+1];
a[j+1]=d;
}
for(i=0; i<10; i++)
printf("%d ",a[i]);
return 0;
}
追问
能运行出来结果吗
可以把运行后的拍下照吗
展开全部
#include<stdio.h>
void main(){
int a[10]={2,32,6,74,-14,68,0,-9,41,32},temp,i,j,sum=0;
double avg;
for(i=0;i<10;i++){
for(j=0;j<10-i;j++){
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
printf("这个数组由小到大的顺序是:");
printf("\n");
for(i=0;i<10;i++){
sum+=a[i];
printf("%d ",a[i]);
}
printf("\n");
printf("这个数组的最大值是:%d",a[9]);
printf("\n");
avg = sum/10.0;
printf("这个数组的平均值是:%2f",avg);
}
void main(){
int a[10]={2,32,6,74,-14,68,0,-9,41,32},temp,i,j,sum=0;
double avg;
for(i=0;i<10;i++){
for(j=0;j<10-i;j++){
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
printf("这个数组由小到大的顺序是:");
printf("\n");
for(i=0;i<10;i++){
sum+=a[i];
printf("%d ",a[i]);
}
printf("\n");
printf("这个数组的最大值是:%d",a[9]);
printf("\n");
avg = sum/10.0;
printf("这个数组的平均值是:%2f",avg);
}
更多追问追答
追问
怎么一个和一个的不一样
追答
我告诉你我的思路,先一个冒泡排序,排序的顺序是按照你的要求从小到大,排序后,循环取出数组的元素的时候可以进行累加,因为数组的平均值和数组里面元素的和有关,所以必须要求出总和,然后除以10,注意/符号在两边都是整数的时候是取商,不是求商,只有当数字为浮点型的数的时候才是求商,所以除以10.0这才是求商,数组排完序,就可以直接取出最大值,因为你是从小到大的顺序,所以a[9]得值最大,a[0]的值是最小
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询