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

c语言编程:歌唱比赛评委评分系统,第1张

#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

Private Sub Form_Click()

Dim a(5) As Single

Dim i As Integer

Dim sum As Single, min As Single, max As Single

Dim st As String

Me.Cls

For i = 1 To 5

a(i) = 9 + i / 10

st = InputBox("第" &i &"个评委的打分:", "输入", a(i))

If st = "" Then

MsgBox "请输入分数!"

i = i - 1

Else

a(i) = Val(st)

If a(i) <= 0 Then

MsgBox "输入错误!请重新输入。"

i = i - 1

End If

End If

Next

Print "评委打分为:"a(1)

max = a(1)

min = a(1)

sum = a(1)

For i = 2 To 5

If max <a(i) Then max = a(i)

If min >a(i) Then min = a(i)

Print a(i)

sum = sum + a(i)

Next

sum = (sum - min - max) / 3

Print

Print "去掉一个最高分:"max",去掉一个最低分:"min

Print "最后得分脊滚森备升为:樱亩"Round(sum, 3)

End Sub

要在Excel中编写一个自动判题岩前程序,需要使用VBA(粗稿清Visual Basic for Applications)编程语言,并使用Python语言编写判题程序。首先,需要在Excel中编写VBA代码,用于调用Python程序,然后在Python程敬冲序中编写判题程序,最后将Python程序的结果返回给Excel。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存