當前位置:首頁 » 編程語言 » 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]);
}
}