10个评委,打分在88~100之间(含);去掉一个最高分和一个最低分,输出打分结果和平均值,C语言怎么编程?

要求:
1.打分为实数,随机产生,一位小数。
2.输出结果被去掉的用()括起来,占一行。
3.输出平均值保留2位小数,占一行。

代码文本:

#include "stdio.h"

#include <stdlib.h>

#include "time.h"

int main(int argc,char *argv[]){

int i,max_i,min_i;

double a[10],s;

srand((unsigned)time(NULL));

for(s=max_i=min_i=i=0;i<10;i++){

a[i]=(rand()%121+880)/10.0;//随机赋值88~100

if(a[max_i]<a[i])//找最大值下标存maxi

max_i=i;

else if(a[min_i]>a[i])//找最小值下标存mini

min_i=i;

s+=a[i];//求和

}

for(i=0;i<10;i++)//输出打分结果

printf(i==max_i || i==min_i ? "(%.1f)  " : "%.1f  ",a[i]);

printf("\nThe AVERAGE are %.2f\n",(s-a[max_i]-a[min_i])/8);//输出平均分

return 0;

}

(若帮助了你,请采纳)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-30

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int main()

{ int i,max=0,min=0;

  float s=0,a[10];

  srand(time(0));

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

  { a[i]=(880+rand()%(1001-880))/10.0;

    s+=a[i];

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

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

  }

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

  {if(i==max||i==min)printf("(%.1f) ",a[i]);

     else printf("%.1f ",a[i]);

  }

  printf("\n%.2f\n",(s-a[max]-a[min])/8);

  return 0;

}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网