C语言评分程序

C语言评分程序,第1张

#include <stdio.h>#define SINGERS 6#define JUDGES 5typedef struct data{ int order char name[16] double score[JUDGES]} DATAint main( void ){ DATA student[SINGERS] int i, j for ( i = 0i <SINGERS++i ) { printf("Enter the name of singer %d: ",i+1) fflush(stdin) gets(student[i].name) printf("Enter %s\'s starting order: ",student[i].name) scanf("%d",&student[i].order) for ( j = 0j <JUDGES++j ) { printf("Enter score %d: ",j+1) scanf("%lf",&student[i].score[j]) } putchar('\n') } printf("\n\nName Order ") for ( i = 0i <JUDGES++i ) printf("Score%d ",i+1) putchar('\n') for ( i = 0i <SINGERS++i ) { printf("\n%-15s%-6d",student[i].name,student[i].order) for ( j = 0j <JUDGES++j ) { printf("%-7g",student[i].score[j]) }} puts("\n\nThank you!") getch() return 0}

#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=0i<mi++)

{

scanf("%s",&pname[i])//评委姓名

pgrade[i]=0//评委给的分

pdis[i]=0//评委给分和最后结果的差距

}

printf("\n请输入选手人数:")

scanf("%d",&n)

printf("\n请分别输入选手姓名:\n")

for(i=0i<ni++)

{

scanf("%s",&xname[i])//选手姓名

xgrade[i]=0//选手成绩

}

for(i=0i<ni++)

{

max=0min=10//评委给选手的最大最小成绩

printf("\n请给选手%s打分!",xname[i])

for(j=0j<mj++)

{

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=0j<mj++)//算出每个评委本次评分和最终成绩的差,加到pdis中保存起来

{

pdis[j]+=pgrade[j]>xgrade[i]?(pgrade[j]-xgrade[i]):(xgrade[i]-pgrade[j])

}

}

for(i=0i<n-1i++)

for(j=0j<n-1-ij++)

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=0i<ni++)

printf("%s\t%f\n",xname[i],xgrade[i])

for(i=0i<m-1i++)

for(j=0j<m-1-ij++)

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=0i<mi++)

printf("%s\t%f\n",pname[i],pdis[i])

}

vae.la


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

原文地址: http://outofmemory.cn/yw/11975252.html

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

发表评论

登录后才能评论

评论列表(0条)

保存