标题:一个C问题,改一下这个程序
只看楼主
candy0680
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-9-8
 问题点数:0 回复次数:17 
一个C问题,改一下这个程序

题目:设计一个程序处理比赛成绩。设计要求:
1)有100个歌手参加比赛,12 位评委评分,一个歌手唱完后各评委替他(她)评分;
2)记分办法:去掉一个最高分,去掉一个最低分,按中间几个分数计平均分;
3)数据直接从键盘输入或先录入文本文件,然后读入;
4)对歌手按得分从高到低排序;
5)按得分从高到低排序输出歌手编号、姓名与得分。
我的程序(用WIN-TC运行)
#include <stdio.h>
#include <conio.h>
struct singer
{long int num;
char name[8];
double score[12];
double aver;
}sin[100];
int j,k;
double vs(double a[])
{int c,d,e;
for(j=0;j<12;j++)
scanf("%f",&a[j]);
for(a=0;j<11;j++)
{c=j;
for(d=j+1;d<12;d++)
if(a[c]<a[d])c=d;
if(c!=j)
{e=a[j];
a[j]=a[c];
a[c]=e;
}
}
printf("\n");
for(j=0;j<12;j++)
return (a[j]);
}
main()
{double sum=0;
for(k=0;k<100;k++)
{printf("please input num\name:");
scanf("%ld,%s",sin[k].num,&sin[k].name);
printf("please input score:");
for(j=0;j<12;j++)
scanf("%f",&sin[k].score[j]);
vs(sin[k].score);
for (j=0;j<12;j++)
printf("%f",sin[k].score[j]);
for (j=1;j<10;j++)
sum+=sin[k].score[j] ;
sin[k].aver=sum/10.0;
}
for(k=0;k<100;k++)
vs(sin[].aver); 显示此行有错误
printf("%f,%ld,%s",sin[k].aver,sin[k].num,sin[k].name);
getch();
}

尽快回复

搜索更多相关主题的帖子: 歌手 设计 文本文件 include singer 
2006-09-13 12:32
candy0680
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-9-8
得分:0 

帮帮忙好吗,谢谢了

2006-09-13 15:14
HuiSky
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2006-5-13
得分:0 
vs(sin[].aver); 这是错误的表达.
你把sin里面的aver成员从里面独立出来,另成一个数组,再作为vs函数的实参就可以了。

2006-09-13 15:20
candy0680
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-9-8
得分:0 

那不是和歌手对不上号了,帮忙全改改好吗,谢谢

2006-09-13 15:24
HuiSky
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2006-5-13
得分:0 
不好,这样你就不能锻炼,
你如果要保住那个结构体,那就另外建个数组把sin[].aver传给它,再用新建的那个数组当函数实参也行.

2006-09-13 15:45
candy0680
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-9-8
得分:0 
改了,可还是不行呀
2006-09-13 16:40
candy0680
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-9-8
得分:0 
帮帮忙好吗,急需,谢谢
2006-09-13 17:10
candy0680
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-9-8
得分:0 

帮帮忙好吗,各位

2006-09-13 20:19
cwande
Rank: 2
等 级:新手上路
威 望:3
帖 子:333
专家分:0
注 册:2006-8-18
得分:0 
那就不要写个函数嘛,全部写在一起算了

汗,都懒得写代码了.......... cheat了一个威望,哈.....
2006-09-13 21:15
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
得分:0 
LZ你写的太夸张了
我帮你重新写一个吧
在你的基础上写
但是要改很多地方
2006-09-13 22:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-89904-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.137379 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved