为了账号安全,请及时绑定邮箱和手机立即绑定

类型问题,感谢大佬求助

类型问题,感谢大佬求助

C
苟延残喘1 2016-12-11 13:33:00
/*  编写一程序P415.C实现以下功能    设有10名歌手(编号为1-10)参加歌咏比赛,另有6名评委打分,每位歌手的得分从键盘输入:先提示“Please input singer's score: ”,再依次输入第1个歌手的6位评委打分(10分制,分数为整型,分数之间使用空格分隔),  第2个歌手的6位评委打分...以此类推。计算出每位歌手的最终得分(扣除一个最高分和一个最低分后的平均分,最终得分保留2位小数),最后按最终得分由高到低的顺序输出每位歌手的编号及最终得分。    注意:变量数据类型的选择应适当,在保证满足设计要求精度的情况下,养成不浪费内存空间和计算时间的好习惯。  编程可用素材:printf ("Please input singer's score:\n")、printf("\nscores:\n")、  printf("No.…: …。    程序的运行效果应类似地如图1所示,其中的红色部分是从键盘输入的内容。 */ /* 1 4 7 3 6 3 8 7 8 5 9 8 7 5 6 8 5 4 7 6 7 5 6 5 3 5 6 7 5 5 7 7 7 8 9 6 9 4 3 7 3 6 4 8 6 7 5 8 8 7 8 8 9 8 7 7 6 7 6 8 */ #include<stdio.h> int main(void) {  int score[10][6],i,j,max,imax,min,imin;//定义分数,循环控制i,j;最大max,最大时的i值,最小值,最小值时的i值  float countave[10][2],temp2,temp;//定义每个人的平均值;countave[I][0]为分数,[1]为编号  float sum;//去掉最高最低分后的总和。  printf("Please input singer's score:\n");  for(i=0;i<10;i++)  {   scanf("%d %d %d %d %d %d",&score[i][0],&score[i][1],&score[i][2],&score[i][3],&score[i][4],&score[i][5]);  }  for(i=0;i<=9;i++)  {  max=score[i][0];    imax=0;    min=score[i][0];    imin=0;   for(j=0;j<=5;j++)   {    if(score[i][j]>=max)    {max=score[i][j];imax=j;}      }   for(j=0;j<=5;j++)   {    if(score[i][j]<=min)    {min=score[i][j];imin=j;}   }     score[i][imax]=0;   score[i][imin]=0;   sum=score[i][0]+score[i][1]+score[i][2]+score[i][3]+score[i][4]+score[i][5];   //当定义sum为float时会报:从int到float的强制转换会丢失数据的警告(后面的数组都是整型)【不能有警告】,但是我要使得下面countave的运算结果有小数点,这道题如果用double的话得分为0:【未实现:数据类型的选择应考虑空间和时间开销,本程序不应使用double类型】,定义sum为int的话,为什么float定义的countave没有小数点呢?我该怎么做呢?(VC++6.0)。感谢大佬!强制转换问题到底是为什么会出现呢?~   countave[i][0]=sum/4;   countave[i][1]=i;  }  printf("\nscores:\n");  for(i=0;i<=9;i++)  {   for(j=1;j<=9;j++)   {    if(countave[j][0]<countave[j-1][0])    {     temp=countave[j][0];     countave[j][0]=countave[j-1][0];     countave[j-1][0]=temp;     temp2=countave[j][1];     countave[j][1]=countave[j-1][1];     countave[j-1][1]=temp2;    }   }  }    for(i=9;i>=0;i--)  {   printf("NO.%.0lf:%.2lf\n",countave[i][1]+1,countave[i][0]);   count--;  }      return 0; }感谢大佬帮助!初学C,请多包涵!
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 1564 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信