歌手打分 C语言编程

来源:百度知道 编辑:UC知道 时间:2024/06/15 21:58:01
一、目的和要求
1.综合应用C语言的基本语句,编写应用程序。
2.通过程序设计掌握C语言函数和数组的定义和引用;进一步掌握循环、分支结构。
二、实验内容
N名裁判给M名歌手打分,评分原则是去掉一个最高分,去掉一个最低分,剩下的分数的平均值为该歌手的最终得分。裁判给分的范围是60≤分数≤100。裁判人数N=10。编写一个程序,每个裁判所给的分数由键盘输入,要求屏幕输出歌手的姓名和他的最终的分;假如有50名歌手参加比赛,按得分由高到低输出全部歌手姓名和得分。
三、方法
可以使用数组、循环、分支实现。
N名裁判给M名歌手打分,评分原则是去掉一个最高分,去掉一个最低分,剩下的分数的平均值为该歌手的最终得分。裁判给分的范围是60≤分数≤100。

#include<stdio.h>
#define N 10
#define M 50

//本程序对歌手的打分均限定在整数范围
//若需处理成小数形式,只要将数据类型设定为float即可

void main()
{
static char name[M+1][]={
"";
"singer1 name";
......
"singer50 name"
}; //50位歌手名字
static int scores[M+1]; //50位歌手得分
int i,j;

for (i=1;i<M+1;i++)
for (j=1;j<N+1;j++)
{
printf("Please enter the %d singer's score:\n",i);
scores[i]=score(); //返回第i个歌手的分数
}

sort_out(name,scores); //按要求输出歌手及其分数
}

int score()
{
int i,score,Tmax,Tmin;
static int data[N+1];

scanf("d%",&data[1]);

//输入分数