歌手大赛评分系统c语言
时间: 2023-12-23 22:04:49 浏览: 49
好的,关于歌手大赛评分系统的C语言程序,我可以给您提供一些思路和代码实现,具体如下:
首先,我们需要定义一个结构体来存储选手的信息,包括选手的姓名、序号、演唱歌曲、评委打分等。定义如下:
```C
typedef struct {
char name[20]; // 选手姓名
int number; // 选手序号
char song[50]; // 选手演唱歌曲
float score[5]; // 评委打分
float totalScore; // 总分
} Contestant;
```
然后,我们需要定义一些函数来实现评分系统的各种功能,包括选手信息输入、评委打分、计算总分和排名等。具体实现如下:
```C
// 选手信息输入函数
void inputContestant(Contestant *pContestant) {
printf("请输入选手姓名:");
scanf("%s", pContestant->name);
printf("请输入选手序号:");
scanf("%d", &pContestant->number);
printf("请输入选手演唱歌曲:");
scanf("%s", pContestant->song);
}
// 评委打分函数
void inputScore(Contestant *pContestant) {
printf("请输入评委打分:");
for (int i = 0; i < 5; i++) {
scanf("%f", &pContestant->score[i]);
}
}
// 计算总分函数
void calculateTotalScore(Contestant *pContestant) {
float sum = 0;
for (int i = 0; i < 5; i++) {
sum += pContestant->score[i];
}
pContestant->totalScore = sum / 5;
}
// 选手排名函数
void rankContestant(Contestant *pContestant, int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (pContestant[i].totalScore < pContestant[j].totalScore) {
Contestant temp = pContestant[i];
pContestant[i] = pContestant[j];
pContestant[j] = temp;
}
}
}
}
```
最后,我们可以在主函数中调用上述函数来实现完整的评分系统。具体实现如下:
```C
int main() {
Contestant contestant[10]; // 定义选手数组
int n; // 选手数目
printf("请输入选手数目:");
scanf("%d", &n);
// 输入选手信息并评分
for (int i = 0; i < n; i++) {
inputContestant(&contestant[i]);
inputScore(&contestant[i]);
calculateTotalScore(&contestant[i]);
}
// 排名并输出结果
rankContestant(contestant, n);
printf("选手排名如下:\n");
for (int i = 0; i < n; i++) {
printf("%d. %s,演唱:%s,总分:%.2f\n", i + 1, contestant[i].name, contestant[i].song, contestant[i].totalScore);
}
return 0;
}
```
以上就是一个简单的歌手大赛评分系统的C语言实现,希望能够对您有所帮助!