当前位置:首页 » 编程语言 » c语言歌手评分系统视频
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言歌手评分系统视频

发布时间: 2023-01-12 07:06:45

c语言编程:歌唱比赛评委评分系统

#include <stdio.h>
#include<string.h>
void main()
{
int i,j,m,n;
float num,xgrade[100],max,min,pgrade[100],pdis[100];
char str[10],xname[100][10],pname[100][10];
printf("请输入评委人数:");
scanf("%d",&m);
printf("\n请分别输入评委姓名:\n");
for(i=0;i<m;i++)
{
scanf("%s",&pname[i]);//评委姓名
pgrade[i]=0;//评委给的分
pdis[i]=0;//评委给分和最后结果的差距
}
printf("\n请输入选手人数:");
scanf("%d",&n);
printf("\n请分别输入选手姓名:\n");
for(i=0;i<n;i++)
{
scanf("%s",&xname[i]);//选手姓名
xgrade[i]=0;//选手成绩
}
for(i=0;i<n;i++)
{
max=0;min=10;//评委给选手的最大最小成绩
printf("\n请给选手%s打分!",xname[i]);
for(j=0;j<m;j++)
{
printf("\n%s老师给的分数为:",pname[j]);
scanf("%f",&pgrade[j]);
xgrade[i]+=pgrade[j];//加到该选手的总分数中
if(max<pgrade[j])
max=pgrade[j];
if(min>pgrade[j])
min=pgrade[j];
}
xgrade[i]=(xgrade[i]-max-min)/(m-2);//最后成绩为总成绩-最高分-最低分,然后平均
for(j=0;j<m;j++)//算出每个评委本次评分和最终成绩的差,加到pdis中保存起来
{
pdis[j]+=pgrade[j]>xgrade[i]?(pgrade[j]-xgrade[i]):(xgrade[i]-pgrade[j]);
}
}
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(xgrade[j]<xgrade[j+1])
{
strcpy(str,xname[j]);
strcpy(xname[j],xname[j+1]);
strcpy(xname[j+1],str);
num=xgrade[j];
xgrade[j]=xgrade[j+1];
xgrade[j+1]=num;
}
printf("\n选手按名次排名为:\n");
printf("选手名\t得分\n");
for(i=0;i<n;i++)
printf("%s\t%f\n",xname[i],xgrade[i]);
for(i=0;i<m-1;i++)
for(j=0;j<m-1-i;j++)
if(pdis[j]>pdis[j+1])
{
strcpy(str,pname[j]);
strcpy(pname[j],pname[j+1]);
strcpy(pname[j+1],str);
num=pdis[j];
pdis[j]=pdis[j+1];
pdis[j+1]=num;
}
printf("\n评委按名次排名为:\n");
printf("评委名\t差分\n");
for(i=0;i<m;i++)
printf("%s\t%f\n",pname[i],pdis[i]);
}
vae.la

⑵ 用C语言编程:歌手大奖赛有10名评委打分,去掉一个最高分、去掉一个最低分,求选手的平均分。

#include<stdio.h>
int s_min(int a[]);
int s_max(int a[]);
main()
{
float a[10],min,max,s=0;//定义一个数组用来存放10个评委的分数。定义的min,max,是用来超查找最高分和最低分的。
int i;
printf("请输入10个评委的分数:\n");
for(i=0;i<10;i++)
scanf("%f",&a[i]);
min=s_min(a);
max=s_max(a);//调用函数找出低分和最高分。
printf("去掉一个最高分%g,去掉一个最低分%g\n",max,min);
for(i=0;i<10;i++)
if(a[i]!=min&&a[i]!=max) //把最高分和最低分不计算进去
s=s+a[i];
printf("最后的得分是%g\n",s/8);

}
float s_min(float a[])
{
int i;
float min=a[0];
for(i=0;i<10;i++)
if(a[i]<min)
min=a[i];
return min;
}
float s_max(float a[])
{
int i;
float max=a[0];
for(i=0;i<10;i++)
if(a[i]>max)
max=a[i];
return max;
}

⑶ c语言评分系统

#include<stdio.h>
#define N 100
float score[N][16];//每一行存放15位评委的评分,最后一个用于求成绩
void main()
{
int num;
int i,j;
float max,min;
printf("请输入决赛人数\nnum=");
while(scanf("%d",&num))
{
if(num<100)
break;
}
for(i=0;i<num;i++)
{
printf("评委们给%d号选手的打分:\n",i+1);
for(j=0;j<15;j++)
{
scanf("%f",&score[i][j]);
score[i][15]+=score[i][j];//求总分,没有去除最高和最低分
}
}
//以下这个循环用于求出最高分与最低分,从总分中去除,并算出平均成绩
for(i=0;i<num;i++)
{
max=score[i][0];
min=score[i][0];
for(j=1;j<15;j++)
{
if(max<score[i][j])
max=score[i][j];
if(min>score[i][j])
min=score[i][j];
}
score[i][15]-=(max+min);//去除最高与最低分
score[i][15]/=13;//求出平均成绩
}
//输出比赛选首的最后成绩
for(i=0;i<num;i++)
{
printf("Case #%d\n",i+1);
printf("%.2f\n",score[i][15]);
}
}