歌手打分的C语言,写出来了但不对,请帮忙改下,改完直接回复就ok了

(1) 录入每名选手的编号(或姓名)及每名评委的打分(采用10分制),并保存数据;

(2) 按去掉一个最高分和一个最低分的原则求每名选手的平均分;

(3) 按平均分由高到低的顺序对选手成绩进行排序,并保存数据;

(4) 按下面的运行结果样式输出结果,对提示性的语句不限语言(中英文)

代码:
#include "stdio.h"
float ff(float a[],int n);
void main()
{float a[6],b[6],c[6],d[6];
int i;float sc[4],t;
printf("请输入第1个歌手的姓名和5个得分:");
for(i=0;i<6;i++)
scanf("%d%d%d%d%d%d",&a[i]);/*录入第1个歌手的成绩*/
printf("\n");
printf("请输入第2个歌手的姓名和5个得分:");
for(i=0;i<6;i++)
scanf("%d%d%d%d%d%d",&b[i]);/*录入第2个歌手的成绩*/
printf("\n");
printf("请输入第3个歌手的姓名和5个得分:");
for(i=0;i<6;i++)
scanf("%d%d%d%d%d%d",&c[i]);/*录入第3个歌手的成绩*/
printf("\n");
printf("请输入第4个歌手的姓名和5个得分:");
for(i=0;i<6;i++)
scanf("%d%d%d%d%d%d",&d[i]);/*录入第4个歌手的成绩*/
printf("\n");
for(i=1;i<6;i++)
if(a[1]<a[i]) /*我们假定a[1]是放最大的*/
{t=a[1];a[1]=a[i];a[i]=t;}/*至此我们确定a[1]放的就是最大的*/
if(a[5]>a[i]) /*我们假定a[5]是放最小的*/
{t=a[5];a[5]=a[i];a[i]=t;}/*至此确定a[5]放的是最小的*/
{t=(a[2]+a[3]+a[4])/3;/*去掉最大和最小,再求平均*/
sc[0]=t;}
if(b[1]<b[i]) /*我们假定b[1]是放最大的*/
{t=b[1];b[1]=b[i];b[i]=t;}/*至此我们确定b[1]放的就是最大的*/
if(b[5]>b[i]) /*我们假定b[5]是放最小的*/
{t=b[5];b[5]=b[i];b[i]=t;}/*至此确定b[5]放的是最小的*/
{t=(b[2]+b[3]+b[4])/3;/*去掉最大和最小,再求平均*/
sc[1]=t;}
if(c[1]<c[i]) /*我们假定c[1]是放最大的*/
{t=c[1];c[1]=c[i];c[i]=t;}/*至此我们确定c[1]放的就是最大的*/
if(c[5]>c[i]) /*我们假定c[5]是放最小的*/
{t=c[5];c[5]=c[i];c[i]=t;}/*至此确定c[5]放的是最小的*/
{t=(c[2]+c[3]+c[4])/3;/*去掉最大和最小,再求平均*/
sc[2]=t;}
if(d[1]<d[i]) /*我们假定d[1]是放最大的*/
{t=d[1];d[1]=d[i];d[i]=t;}/*至此我们确定d[1]放的就是最大的*/
if(d[5]>d[i]) /*我们假定d[5]是放最小的*/
{t=d[5];d[5]=d[i];d[i]=t;}/*至此确定d[5]放的是最小的*/
{t=(d[2]+d[3]+d[4])/3;/*去掉最大和最小,再求平均*/
sc[3]=t;}
for(i=0;i<4;i++)
if(sc[0]<sc[1]){t=sc[0];sc[0]=sc[1];sc[1]=t;}
if(sc[0]<sc[2]){t=sc[0];sc[0]=sc[2];sc[2]=t;}
if(sc[0]<sc[3]){t=sc[0];sc[0]=sc[3];sc[3]=t;}
if(sc[1]<sc[2]){t=sc[1];sc[1]=sc[2];sc[2]=t;}
if(sc[1]<sc[3]){t=sc[1];sc[1]=sc[3];sc[3]=t;}
if(sc[2]<sc[3]){t=sc[2];sc[2]=sc[3];sc[3]=t;}

/*至此我们已经得到各歌手的平均成绩*/
printf("本次歌手大赛的结果公布如下:");
printf("\n");
printf("sorted NO singer NO score ");
printf("\n");
printf("%d %d",1,sc[0]);
printf("\n");
printf("%d %d",2,sc[1]);
printf("\n");
printf("%d %d",3,sc[2]);
printf("\n");
printf("%d %d",4,sc[3]);
printf("\n");

}
不知为什么出不来.....帮忙的谢了

1,用循环
2,歌手姓名不可用float,应用char.
3,没编写风格
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-01-04
用循环吧,这样看这太费劲了。
第2个回答  2010-01-05
把歌手姓名的float改为char

参考资料:如果您的回答是从其他地方引用,请表明出处

第3个回答  2010-01-04
歌手姓名怎么能用float呢?
相似回答
大家正在搜