用C语言编写一个歌唱比赛成绩统计程序

用C语言编写一个歌唱比赛成绩统计程序,第1张

#include "stdioh"

void main()

{

int i,Max=-1,Min=999,Score,x,y;

double Sum=0,a[10],Max2=-1,Min2=999,z;

printf("练习30题_6:歌星比赛评分:\n");

for(i=1;i<=10;i++)

{

printf("第%d位评委打分:\n",i);

scanf("%d",&Score);

a[i]=Score;

Sum+=Score;

if(Score>Max)Max=Score;

if(Score<Min)Min=Score;

}

printf("%s%d\n%s%d\n%s%f\n","去掉一个最高分",Max,"去掉一个最低分",Min,"得出的分数为:",(Sum-Min-Max)/8);

z=(Sum-Min-Max)/8;

for(i=1;i<=10;i++)

{

if(a[i]-z>0)//等于0就是差距最小的了所以不用在max上

if(a[i]-z>Max2)

{

Max2=a[i]-z;

x=i;

}

else if (z-a[i]>0)

if(z-a[i]>Max2)

{

Max2=z-a[i];

x=i;

}

if(a[i]-z>=0)

if(a[i]-z<Min2)

{

Min2=a[i]-z;

y=i;

}

else if (z-a[i]>=0)

if(z-a[i]<Min2)

{

Min2=z-a[i];

y=i;

}

}

printf("思维延伸:最公平的裁判是:第%d位。\n最不公平的裁判是:第%d位。\n",y,x);//以上代码没写并列情况

}

#define AMOUNT 10 /裁判数量/

int main(void)

{

float score[AMOUNT];

float sum=0,avg=0;

int i=0;

for(i;i<10;i++)

{

scanf("%f",&score[i]);

sum+=score[i];

}

float min=score[0],max=score[0];

for(i=1;i<10;i++)

{

if(min>score[i]) min=score[i];

if(max<score[i]) max=score[i];

}

sum=sum-min-max;

avg=sum/AMOUNT;//2个裁判不计算在内的话就是AMOUNT-2

printf("各位裁判的分数:\n");

for(i=0;i<10;i++)

printf("%2f ",score[i]);

printf("\n去掉一个最高分%2f,去掉一个最低分%2f,最后总分为%2f,平均分%2f\n",max,min,sum,avg);

return 0;

}

算法可以这样来想:

1申请一个数组Team[8];

2A队有7场比赛(额是循环赛吗),输入每场的比赛结果(可以假设胜为1,负为-1)

3读入数据,用一个选择或是if语句来判断,是1则Team[0]+=3,是0则不做 *** 作

4依3之例,依次读入余下6场比赛的结果并处理

5依(2,3,4)之例,处理余下7只队伍的比赛结果

6为数组Team排序,输出结果

题主你好,给你个思路吧:

1、我们假设每个人有姓名和分数的属性。如果简单的只是名字,那就省事儿了反而,这里按照复杂的,定义链表PlayerList,结构体中应该包括名字,分数和next指针

2、定义两个链表,一个来存储比赛者(也可以确定数量的数组也是ok的),一个来存淘汰的人

PlayerList playList=(PlayerList )malloc(sizeof(Player));

PlayerList revivalList=(PlayerList )malloc(sizeof(Player));

3、每有一个人,往playList链表中加入一人,复活列表一开始是空的。

4、运行题主的比赛逻辑,为每个人做打分

5、对人链表中遍历每个元素,如果分数小于80,从原链表删除,并将删除元素加入到revivalList中

6、对revivalList的每个元素执行再次执行比赛的逻辑,因为也可能奇数,也要考虑是循环赛还是有轮空的淘汰之类的。

以上就是关于用C语言编写一个歌唱比赛成绩统计程序全部的内容,包括:用C语言编写一个歌唱比赛成绩统计程序、C语言编程:比赛报分规则,即去掉最高分,最低分,取平均分。、急!!!看过来:要求用C语言编程实现一个足球比赛问题!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10106167.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存