永发信息网

关于C语言的一道题:评委会打分

答案:3  悬赏:0  手机版
解决时间 2021-02-28 11:35
  • 提问者网友:我们很暧昧
  • 2021-02-27 11:00
输入数据有多组,每组占一行,每行的第一个数是n ,n大于2且小于等于100,表示评委的人数,然后是n个评委的打分,分数都是整数。
对于每组输入数据,输出选手的得分,结果保留2位小数,每组输出占一行。

#include<stdio.h>
int main()
{ int a[1010],max,min,n,i;
double ave;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
scanf("%lf",&a[i]);
max=a[0];
min=a[0];
ave=a[0];
for(i=1;i<n;i++)
{
if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
ave=ave+a[i];
}
ave=ave-max-min;
n=n-2;
printf("%.2lf\n",ave/n);
}
return 0;
}

做出来不对,可是不知道怎么改,求大神指教T T
最佳答案
  • 五星知识达人网友:琴狂剑也妄
  • 2021-02-27 11:23
scanf("%d",&s);改为scanf(" %d",&s);  //%d前边多了个空格,去掉上一个回车字符。
(float)sum-max-min改为(float)(sum-max-min)//最后结果强制转换
全部回答
  • 1楼网友:北方的南先生
  • 2021-02-27 11:47
#include<stdio.h> int main() {     int n = 0;     int nMax = 0,nMix = 0;     int i = 0,nRead = 0;     double dbAVG = 0.0;     while(1)     {         while(n <= 2 || n > 100 )         {             if (EOF == scanf("%d",&n) || -1 == n)             {                                  return 0;             }         }         i = 0;         while(i++ < n)         {             if (EOF == scanf("%d",&nRead))             {                                  return 0;             }             if(nRead > nMax)             {                 nMax = nRead;             }             if(nRead < nMix)             {                 nMix = nRead;             }             dbAVG += (double)nRead;         }         dbAVG -= (double)(nMax + nMix);         dbAVG /= (double)(n - 2);         printf("%.2lf\n",dbAVG);         n = 0,dbAVG = 0.0,nMax = 0,nMix = 0;     }     return 0; }
  • 2楼网友:第四晚心情
  • 2021-02-27 11:29
#include <stdio.h> int main(void) {     int n;     while (scanf("%d", &n) != EOF) {         float max = 0, min = 100;         float a;         float sum = 0;         int i;         for (i = 0; i < n; i++) {             scanf("%f", &a);             sum += a;             if (max < a)                 max = a;             if (min > a)                 min = a;         }         printf("%.2f\n", (sum - max - min) / (n - 2));     }     return 0; }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯