C语言程序 评委打分

C语言程序 评委打分,第1张

#include "stdio.h"const int LEN=30,M=100,N=100typedef struct { int num//抽签号码 char name[LEN]//姓名 float score//得分 } playerplayer players[M]//歌手信息int a[M][N]//评委打分信息int m,n//歌手和评委数量//输入歌手信息和评委打分信息void input(void){ int i,jprintf("歌手数量:") scanf("%d",&m)printf("评委数量:") scanf("%d",&n) for(i=0i<mi++) { players[i].num=i+1 printf("第%d个歌手的姓名:",i+1) scanf("%d",&players[i].name) printf("第%d个歌手的评委打分:",i+1) for(j=0j<nj++) {scanf("%d",&a[i][j]) } }}//求平均值(去掉一个最高分,去掉一个最低高分,求出其余n-2个分数的平均值 void calculate(void){ float max,minint i,j for(i=0i<mi++) { max=min=players[i].score=a[i][0] for(j=1j<nj++) {players[i].score+=a[i][j] if(max<a[i][j]){ max=a[i][j] }if(min>a[i][j]){ min=a[i][j] } } if(n>2) {players[i].score=(players[i].score-max-min)/(n-2) } else if(n>0) {players[i].score/=n } } }//对各个选手的得分,用冒泡法排序 //如果用快速排序或堆排序,把这段改写一下就行了void sort(void){ int i,jfor(i=0i<m-1i++) { for(j=m-1j>ij--) {if(players[j].score>players[j-1].score){ player tmptmp=players[j]players[j]=players[j-1]players[j-1]=tmp } } } }//显示所有原始数据void show_origin(void){ int i,jprintf("\n")for(i=0i<mi++) { printf("抽签号码:%d ",players[i].num) printf("姓名:%d ",players[i].name) printf("评委打分:") for(j=0j<nj++) {printf("%d ",a[i][j]) } printf("\n")} }//显示所有歌手的信息 void show_player(void){ int iprintf("\n")for(i=0i<mi++) { printf("抽签号码:%d ",players[i].num) printf("姓名:%d ",players[i].name) printf("得分:%f\n",players[i].score) } }//显示获奖歌手的信息 int main() { input()show_origin()calculate()show_player()sort()return 0}

#include <stdio.h>

int main()

{

float x[8]={9.2,9.5,9.0,8.9,9.3,9.5,9.1,9.0}

float max, min

int i

float avg = 0

max = min = x[0]

for (i = 0i <8i++)

{

if (x[i] >max)

{

max = x[i]

}

if (x[i] <min)

{

min = x[i]

}

avg += x[i]

}

avg = (avg - max - min) / 6

printf("the avrage sorce is: %f.\n", avg)

return 0

}

#include <stdio.h>

void bubbleSort(int a[])

int main(void)

{

int a[9] = {0}, i = 0

float aver = 0.0

printf("请9位评委依次打分:")

for(i = 0i <9i++)

scanf("%d", &a[i])

bubbleSort(a)

for(i = 1i <8i++)

aver += a[i]

aver /= 7

printf("平均分为:%f\n", aver)

return 0

void bubbleSort(int a[])

int i = 0, j = 0, temp = 0

for(i = 0i <8i++)

for(j = 0j <8 - ij++)

if(a[j] >a[j + 1])

temp = a[j]

a[j] = a[j + 1]

a[j + 1] = temp

}

数组声明

数组的声明格式里,“数据类型”是声明数组元素的数据类型,可以是java语言中任意的数据类型,包括简单类型和结构类型。“数组名”是用来统一这些相同数据类型的名称,其命名规则和变量的命名规则相同。

数组声明之后,接下来便是要分配数组所需要的内存,这时必须用运算符new,其中“个数”是告诉编译器,所声明的数组要存放多少个元素,所以new运算符是通知编译器根据括号里的个数,在内存中分配一块空间供该数组使用。利用new运算符为数组元素分配内存空间的方式称为动态分配方式。

以上内容参考:百度百科-数组


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存