高分请教一道C语言程序设计题,急急急~~~

高分请教下面这道C程序设计题,很急的,限今晚前~~~~谢谢了!答得好我会加悬赏的,谢谢各位高手了~~~~

某大奖赛有n个选手,m(m>2)个评委为依次参赛的选手评判打分:最高分10分,最低分0分。统分规则为:每个选手所得的m个得分中,去掉一个最低分和一个最高分,然后平均为该选手的得分。要求编程:

(1) 根据n个选手的最后得分,从高到低排出名次,以便确定获奖名单。
(2) 根据各选手的最后得分与各评委给该选手所评分的差别,给各个评委评分的准确性一个确定的评价,并输出评委的评判水平名次表。
要求在编程过程中,需记下每位选手及评委的编号。
需要具体程序,谢谢了~~~

/*
变量说明:
n:n个学生
m:m个评委
score[100][20]:最多可存20个评委对100位选手的打分
num[100]:保存选手序号
sum[100]:保存每位选手的平均分
ping[20]:保存对评委打分能力的指数 用它的评分减去各先手平均分之差的绝对值。
pingnum[20]:保存评委的序号
lower:保存最低分
*/

#include<stdio.h>
#include<math.h>

void main()
{
int i,j,n,m,sum[100],ping[20],pingnum[20],num[100],p=0;
int score[100][20],lower,temp=0;
printf("enter n m:");
scanf("%d",&n);
scanf("%d",&m);

for(i=0;i<m;i++) /*对评委指数和评委序号进行初始化*/
{
ping[i]=0;
pingnum[i]=i+1;
}

for(i=0;i<n;i++) /*对选手序号进行初始化*/
num[i]=i+1;

for(i=0;i<n;i++)
{
printf("enter player %d score:\n",i+1); /*输入每位选手的m位评委的打分*/
for(j=0;j<m;j++)
{
printf("\tenter ping wei %d score:",j+1);
scanf("%d",&score[i][j]);
if(lower>score[i][j])
{
lower=score[i][j]; /*保存最低分*/
}
sum[i]+=score[i][j]; /*计算每位选手的总分*/
}
sum[i]-=lower; /*减去最低分*/
sum[i]/=(m-1); /*计算选手的平均得分*/
for(j=0;j<m;j++)
{
ping[j]+=abs(score[i][j]-sum[i]);/*保存评委的打分指数*/
}
}

for(i=0;i<n;i++) /*根据选手的平均分进行排序*/
{p=i;
for(j=i+1;j<n;j++)
if(sum[p]<sum[j])
p=j;
if(p!=i)
{
temp=sum[p];
sum[p]=sum[i];
sum[i]=temp;

temp=num[p];
num[p]=num[i];
num[i]=temp;
}
}

for(i=0;i<m;i++) /*根据评委打分指数对评委进行排序*/
{p=i;
for(j=i+1;j<m;j++)
if(sum[p]<sum[j])
p=j;
if(p!=i)
{
temp=ping[p];
ping[p]=ping[i];
ping[i]=temp;

temp=pingnum[p];
pingnum[p]=pingnum[i];
pingnum[i]=temp;
}
}

printf("print player list:\n");
for(i=0;i<n;i++)
{
printf("%d %d\n",i+1,num[i]);
}
printf("\nprint ping wei list:\n");
for(i=0;i<m;i++)
{
printf("%d %d\n",i+1,pingnum[i]);
}

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-06-19
这个你写一人数组应该用行了

一个有关C语言(数据结构)程序设计题 高手请帮忙,高分!
int Locate(MGraph G,char c){ for(int i=0;i<G.vexnum;i++)if(G.vexs[i]==c) return i;return -1;} \/\/创建无向网 void CreateUDN(MGraph &G){ int i,j,w,s1,s2;char a,b,temp;printf("输入顶点数和弧数:");scanf("%d%d",&G.vexnum,&G.arcnum);temp=getchar(); \/\/...

急求解答:C语言程序设计试题 请专长人士帮忙解答 谢!!!
1.一个函数一般由两部分组成,它们分别是函数名和函数体。2.一个C语言的程序至少应包含一个主函数。3.函数体用{符号开始,用}符号结束。4.欲将一个16位二进制的整数变量的高8位清零,而只保留低8位,可用的方法是和0x00ff进行与运算。5.数组在内存中是一块连续的储存区,数组名代表首地址。6....

关于C语言程序设计的几道题。学霸们帮一下忙吧。
} 第二题:

c语言程序设计编程题
float a,b,c,d,e;printf("请输入第一个角度数:");scanf("%f",&a);printf("\\n请输入第二个角度数:");scanf("%f",&b);c = 180 - a - b;d = 3.141592\/180;e = sin(a*d) + sin(b*d) + sin(c*d);printf("\\n第三个角的度数为%f\\n",c);printf("\\n三个角的正弦和...

c语言程序设计有关编程题,急求答案
1题#include "stdio.h"main(){ int n,i;float sum=0,t,a=1.0,b=1;printf("please input n:");scanf("%d",&n);for(i=0;i<n;i++){ t=a\/b;sum+=t;b=b+2;} printf("sum=%f\\n",sum);} 2题#include "stdio.h"include"math.h"main(){ int n,bai,shi,ge;while(1)...

C语言程序设计题,哥哥姐姐帮帮我 啊
12345(从键盘敲入)这是一个5位数 逆序输出:5 4 3 2 1 运行结果2:请输入一个不大于5位的数字:1234 这是一个4位数 逆序输出:4 3 2 1 其他3位,2位,1位的效果同上。源程序如下:include<stdio.h> main(){ int a;printf("请输入一个不大于5位的数字:\\n");scanf("%d"...

c语言编程题,请高手帮忙做一下,拜谢,急急急急……
1.include <stdio.h> double funcPi(int);int main(void){ int arg;printf("Input the argument: ");\/\/ \/\/ 无异常输入 \/\/ while (!scanf("%d", &arg)){ printf("Check your input and retry: ");while (getchar()!='\\n'){ continue;} } while (getchar()!='\\n'){ continue...

c语言程序设计题目
char name[20],c; int a,b; do { printf("\\n请输入要删除的学生姓名:\\n"); fflush(stdin); gets(name); for(a=0;a<i;a++) { if(strcmp(name,st[a].name)==0) break; } for(b=a;bi) printf("\\t没有找到这个学生!!!\\n"); else { i--; xianshi(); } printf("\\n是否继续删除...

c语言程序设计例题
题目1 include "stdio.h"void main(void){ int n=5,m=10,i=1;long sum=1;for(;i<=n;i++){ sum*=i;} printf("\\n5!=%d",sum);for(i=1;i<=10;i++){ sum*=i;} printf("\\n10!=%d",sum);} 题目2 include "stdio.h"include "string.h"struct Student { char s_Name[...

c语言编程题目,很急,求程序
Input(struct student *r, int cd){int m;for (m=0; m<cd; ++m){printf("请输入第%d个学生的信息:\\n", m+1);printf("age = ");scanf("%d", &(r+m)->age); \/\/(*r)[m].age 等价于r[m]->age,以下类推printf("score = ");scanf("%f",...

相似回答