歌唱比赛评分 - C语言课程设计

这是一个使用C语言编写的歌唱比赛评分系统,系统要求包括结构体定义选手信息,输入选手得分,计算平均分,按成绩排序以及实现查询功能。程序运用了结构体、文件读写等知识点,通过菜单驱动实现交互操作。
摘要由CSDN通过智能技术生成

歌唱比赛评分 - C语言课程设计

题目

有十个选手参加歌唱比赛,十个裁判对每个选手的演唱进行打分,去掉一个最高分,去掉一个最低分,剩下分数的平均值作为每位选手最后的成绩。

要求

  1. 采用结构体定义每个选手的参赛编号,姓名以及十个裁判打出的分数;
  2. 从键盘输入每个选手的相关信息:参赛编号,姓名和十个得分;
  3. 计算每位选手的最后得分,并按分数由高到低排序;
  4. 查询功能:输入参赛选手的名次、编号或姓名(三个条件都能实现),便可输出该选手的得分以及排名;
  5. 以上功能采用菜单操作方式;设计程序中要求用到结构体、文件读写等相关知识内容。

前往GitHub 查看

代码


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MEM 10	//有10名选手

struct Member_information	//选手信息
{
   
	int num;		//编号
	char name[16];	//姓名
	float score_o[10];	//原始分数 10个
	float score;	//平均分数
}member[MEM];

int i,j;

void input_information()	//输入每一个选手的信息
{
   
	int flag;
	for (i=0;i<MEM;i++)
	{
   
		flag=1;
		while(flag)
		{
   
			flag=0;
			printf("\n请输入选手的编号: ");
			scanf("%d",&member[i].num);
			getchar();
			for (j=i-1;j>=0;j--)	//若存在相同编号,要求重新输入
			{
   
				if (i != 0 && member[i].num == member[j].num)
				{
   
					printf("此编号已存在,请重新输入\n");
					flag=1;
				}
			}
		}
		printf("请输入%d号选手的姓名: ",member[i].num);
		gets(member[i].name);
		for (j=0;j<10;j++)
		{
   
			printf("第%2d个裁判的打分: ",j+1);
			scanf("%f",&member[i].score_o[j]);
		}
		getchar();
	}
	system("cls");
	printf("\n-------数据录入完毕-------\n");
}

void sort_num()	//将裁判打的分数用选择法 由小到大排序
{
   
	int k;
	float temp;
	for (i=0;i<MEM;i++)
	{
   
		for (j=0;j<10;j++)
		{
   
			temp=member[i].score_o[j];
			for (k=j+1;k<10;k++)
			{
   
				if (member[i].score_o[j] > member[i].score_o[k
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值