c语言,输入十个整数,要求用到冒泡算法,输出最大值最小哦值,再去掉最大最小值求平均数

如题所述

#include "stdio.h"
int main(int argc,char *argv[]){
int n,s,min,max,t;
printf("Please enter 10 integers...\n");
for(s=n=0;n<10;n++){
scanf("%d",&t);
if(max<t || n==0)
max=t;
if(min>t || n==0)
min=t;
s+=t;
}
printf("\nThe MAX = %d\nThe MIN = %d\nThe AVE = %g\n",max,min,(s-max-min)/8.0);
return 0;
}

运行样例:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-01-12
冒泡排序并求最大值、最小值、平均值,参考代码如下
#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)转换为浮点型,以保留小数。

本回答被提问者采纳
相似回答