c语言题目?

要求编写一程序,在主函数内,从键盘输入十个大于0小100的数,存入数组中,然后将数组作为函数参数传入子函数,在子函数中将数组中的十个数,去掉一个最大数去掉一个最小数,再求其平均数,将算出的平均数返回主函数中,在主函数中打印输出,要求保留两位有效数字。

应该是要求保留两位小数才对。若是“保留两位有效数字”,等于是四舍五入到整数(因为原来的数的平均数,基本都是大于10的。

#include<stdio.h>

float av(int a[])

{int s=0,max=a[0],min=a[0],i;

 for(i=0;i<10;i++)

 {s+=a[i];

  if(a[i]>max)max=a[i];

  if(a[i]<min)min=a[i];

  } 

  return (s-max-min)/8.0;

}

int main()

{ int i,a[10];

  for(i=0;i<10;i++)

    scanf("%d",&a[i]);

  printf("%.2f\n",av(a));

  return 0;

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-05-29
switch(x){
case
'a':
{
printf("小于30小时,60元/月,超过30分钟的部分按照5分钱/分钟累计,每月随电话费收取\n");break;}
case
'b':
{
printf("10分钱/分钟,每月随电话费收取\n");break;}
case
'c':
{
printf("上网信息费7分钱/分钟,电话费21分/分钟,每月到电信局以现金方式收费或用卡付费\n");break;}
}
第2个回答  2020-05-23
注意:当一个表达式中同时出现a自加和自减时,它是累计a的加减,然后在进行运算。在这个表达式b=++a*--a中,首先是对a进行自加,然后对a进行一次自减,得到a的最终值为5,于是5*5=25,至于第二个为什么是30我就不知道了,因为我在vc上运行时,两个结果是一样的,可能是tc的编译器问题吧!
相似回答