冒泡排序并求最大值、最小值、平均值,参考代码如下
#include "stdio.h"
#define N 10
int main( )
{
int i,j,t,sum=0;
int d[N];
for(i=0;i<N;++i)
scanf("%d",&d[i]);
for(i=0;i<N-1;++i)
for(j=0;j<N-i-1;++j)
if(d[j]>d[j+1]){
t=d[j];
d[j]=d[j+1];
d[j+1]=t;
}
printf("最大值%d,最小值%d\n",d[N-1],d[0]);
for(i=1;i<N-1;++i)
sum+=d[i];
printf("平均值%.1f",1.0*sum/(N-2));
return 0;
}
追答
追问谢谢!应该是i++吧?
还有,输出最大值最小值时,d[N-1],d[0]表示的不是数组吗?输出平均值时,1.0*sum又是什么意思呢?
打扰!
追答排序,懂吗,最小值会排在第一,最大值会排在最后;什么前后++,这里都一样的,这两个问题,你得多动脑,多动手,不要动不动就问,好吧。。。1.0就是将表达式sum/(N-2)转换为浮点型,以保留小数。
本回答被提问者采纳