c语言代码:请输入十个数字,要求输出最大值、最小值、去掉最大值和最小值之后的平均值

2024-11-28 17:43:39
推荐回答(3个)
回答1:

void main()
{
double number[10]; //存放10个数
double max,min; //存放最大、最小值
double sum=0.0,avg=0.0; //存放和、平均值
int i;

printf("请输入10个数\n");
for(i=0;i<10;i++)
{
scanf("%lf",&number[i]);
}

//找出最大、最小值
max=number[0];
min=number[0];

for(i=1;i<10;i++)
{
if(number[i]>max) max=number[i];
if(number[i] }

//计算除去最大、最小值的数的和
for(i=0;i<10;i++)
{
if(number[i]!=max || number[i]!=min) sum += number[i];
}

//计算平均值
avg = sum/8;

printf("最大值为%lf",max);
printf("最小值为%lf",min);
printf("平均值为%lf",avg);
}

回答2:

int main()
{
double a[10],temp,sum,avg;
int i,j;
for(i=0;i<10;i++){
scanf("%f",&a[i]);
}
for(i=0;i<10;i++){
for(j=0;j<10-i-1;j++){
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
sum=0;
for(i=1;i<9;i++){
sum+=a[i];
}
avg=sum/8;'
cout<return 0;
}

回答3:

可以不用数组实现.
#include
void main()
{
int i;
float tmp, max = -32768.0, min = 32767.0, sum = 0.0;
for (i = 0; i < 10; i++)
{
scanf ("%f", &tmp);
if (tmp > max) max = tmp;
if (tmp < min) min = tmp;
sum += tmp;
}
printf ("最大值为:%.1f\n", max);
printf ("最小值为:%.1f\n", min);
printf ("平均值为:%.1f\n", (sum - max - min) / 8);
}