来自「为歌手投票:1、检测出最高分和最低分」· 代码 · 共 59 行

TXT
59
字号
/*该程序比较简单,无需编写子函数模块。主要解决两个方面:
1、检测出最高分和最低分,然后求出平均分
2、计算各个评委的打分与平均分的差的绝对值,绝对值大的为“差评委”,小的为“好评委”。
在求出最大值和最小值时还要捕获数组b的下标,即得到评委的序号*/


#include<stdio.h>
#include<math.h>
#define M 10
void main()
{ float a[M],b[M],max,min,score=0;  
  int i,j,p,q;
  FILE *fp;  
  fp=fopen("评委打分.txt","r");
  for(i=0;i<M;i++)
  fscanf(fp,"%f\n",&a[i]);
  fclose(fp);
  printf("%d个评委的打分为:\n",M);
  for(i=0;i<M;i++)
	  printf("%f\n",a[i]);
  max=a[0];
  min=a[0];
  for(i=1;i<M;i++)
  {   if(a[i]>max) max=a[i];
	  if(a[i]<min) min=a[i];
  }
	  printf("max=%f,min=%f\n",max,min);
  for(i=0;i<M;i++)
	  score+=a[i];
      score-=(max+min);
	  score/=8;
	  printf("歌手的平均分为%f\n",score);
	  for(i=0;i<M;i++)
		  b[i]=fabs(score-a[i]);
	  printf("评委误差分别为:\n");
  for(i=0;i<M;i++)
	  printf("%f\n",b[i]);
  max=b[0];
  min=b[0];
  for(i=1;i<M;i++)
  { 
	  if(b[i]>max)  { max=b[i];p=i;}
	  if(b[i]<min)  { min=b[i];q=i;}
  } 

  printf("最差评委是第%d个,最好评委是第%d个\n",p+1,q+1);

}










⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?