课程实践——第二个——歌手大赛评分系统

2024-04-27 03:38

本文主要是介绍课程实践——第二个——歌手大赛评分系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

/*
Copyright (c) 2016, 烟台大学计算机学院All rights reserved.
文件名称:first.cpp
作    者:颜丙齐
完成日期:2017年 1 月 6 日
版 本 号:v1.0题目描述歌手大赛计分系统
输入评委个数和每位评委的打分
输出选手的平均得分
样例输入41234
样例输出这是歌手大赛的计分系统!!!
制作人:颜丙齐
指导老师:贺利坚老师
程序说明:该程序计算各个选手的得分!!!
计分方式:去掉一个最高分和一个最低分然后取平均值!!!
输入的评委打分为0~10之间的数,请大家一定不要输错哟!!!
请大家开始使用吧!!!
请输入评委的人数;4
请输入第1位评委的给分为:1
请输入第2位评委的给分为:2
请输入第3位评委的给分为:3
请输入第4位评委的给分为:4
减去一个最高分4.00,和一个最低分1.00
该选手的最终得分为:2.50
***************************************SUCCESS**********************************
按N退出,其他键继续:*/
#include <stdio.h>
#include <stdlib.h>
void view();//输出关于程序的说明
void getscore(double *,int);//将输入数组中的数保存到数组中.两个参数:数组和数组长度。
void set_score_online(double *,int );//将数组利用冒泡排序法,将最大的和最小的数排列。两个参数:数组和数组长度。
void ave_score(double *,int );//将数组中的1——n-1个元素求平均值,并将求的平均值赋值给数组的第n项,去掉第一个和最后一个。两个参数:数组和数组长度。
void calScore(int n);//计算成绩的最终函数,通过调用其他函数实现
int main()
{system("color 1b");//控制输出面板的颜色view();int n;//评委的人数char button;//控制是否结束printf("请输入评委的人数:");scanf("%d",&n);do{calScore(n);printf("***************************************SUCCESS**********************************");printf("按N退出,其他键继续:\n");getchar();scanf("%c",&button);}while(button!='N'&&button!='n');//循环一次是计算的一个选手的分数return 0;
}
/*************************************************************
功能描述:输出程序的说明
输入参数:无
返 回 值:无
其他说明:输出几句话,解释该程序
*************************************************************/
void view()
{printf("这是歌手大赛的计分系统!!!\n");printf("制作人:颜丙齐\n");printf("指导老师:贺利坚老师\n");printf("程序说明:该程序计算各个选手的得分!!!\n");printf("计分方式:去掉一个最高分和一个最低分然后取平均值!!!\n");printf("输入的评委打分为0~10之间的数,请大家一定不要输错哟!!!\n");printf("请大家开始使用吧!!!\n");
}
/*************************************************************
功能描述:计算一个选手的分数
输入参数:无
返 回 值:无
其他说明:通过调用其他函数实现其功能
*************************************************************/
void calScore(int n)
{double score[20];//定义一个一维数组来存放分数getscore(score,n);set_score_online(score,n);ave_score(score,n);printf("减去一个最高分%.2f,和一个最低分%.2f\n",score[n-1],score[0]);printf("该选手的最终得分为:%.2f\n",score[n]);
}
/*************************************************************
功能描述:得到各个评委的评分
输入参数:s-一个指针,是传递的一个数组n-数组的长度
返 回 值:无
其他说明:通过使用指针来给数组赋值
*************************************************************/
void getscore(double *s,int n)
{int i;int k;for(i=0; i<n; i++){k=0;do{if(k>=1){printf("您的输入有误请重新输入!!!\n");}printf("请输入第%d位评委的给分为:",i+1);scanf("%lf",&s[i]);k++;}while(s[i]>10.0);}return ;
}
/*************************************************************
功能描述:将数组中的最高分和最低分找出来,分别放在数组的末尾和开头,便于后面操作
输入参数:s-一个指针,是传递的一个数组n-数组的长度
返 回 值:无
其他说明:使用的是冒泡排序法
*************************************************************/
void set_score_online(double *s,int n)
{int i,middle;for(i=0; i<n-1; i++){if(s[i]>s[i+1]){middle=s[i];s[i]=s[i+1];s[i+1]=middle;}}for(i=n-1; i>0; i--){if(s[i]<s[i-1]){middle=s[i];s[i]=s[i-1];s[i-1]=middle;}}return;
}
/*************************************************************
功能描述:将数组中的第2~(n-1)个元素加起来,并求平均值
输入参数:s-一个指针,是传递的一个数组n-数组的长度
返 回 值:无
其他说明:将求得的平均值放在数组的第(n+1)个位上
*************************************************************/
void ave_score(double *s,int n)
{int i;double  ave=0;for(i=1; i<n-1; i++){ave=ave+s[i];}ave=ave/(n-2);s[n]=ave;return;
}
/*
Copyright (c) 2016, 烟台大学计算机学院All rights reserved.
文件名称:first.cpp
作    者:颜丙齐
完成日期:2017年 1 月 6 日
版 本 号:v1.0题目描述歌手大赛计分系统
输入评委个数和每位评委的打分
输出选手的平均得分
样例输入41234
样例输出这是歌手大赛的计分系统!!!
制作人:颜丙齐
指导老师:贺利坚老师
程序说明:该程序计算各个选手的得分!!!
计分方式:去掉一个最高分和一个最低分然后取平均值!!!
输入的评委打分为0~10之间的数,请大家一定不要输错哟!!!
请大家开始使用吧!!!
请输入评委的人数;4
请输入第1位评委的给分为:1
请输入第2位评委的给分为:2
请输入第3位评委的给分为:3
请输入第4位评委的给分为:4
减去一个最高分4.00,和一个最低分1.00
该选手的最终得分为:2.50
***************************************SUCCESS**********************************
按N退出,其他键继续:*/
#include <stdio.h>
#include <stdlib.h>
void view();//输出关于程序的说明
void getscore(double *,int);//将输入数组中的数保存到数组中.两个参数:数组和数组长度。
void set_score_online(double *,int );//将数组利用冒泡排序法,将最大的和最小的数排列。两个参数:数组和数组长度。
void ave_score(double *,int );//将数组中的1——n-1个元素求平均值,并将求的平均值赋值给数组的第n项,去掉第一个和最后一个。两个参数:数组和数组长度。
void calScore(int n);//计算成绩的最终函数,通过调用其他函数实现
int main()
{system("color 1b");//控制输出面板的颜色view();int n;//评委的人数char button;//控制是否结束printf("请输入评委的人数:");scanf("%d",&n);do{calScore(n);printf("***************************************SUCCESS**********************************");printf("按N退出,其他键继续:\n");getchar();scanf("%c",&button);}while(button!='N'&&button!='n');//循环一次是计算的一个选手的分数return 0;
}
/*************************************************************
功能描述:输出程序的说明
输入参数:无
返 回 值:无
其他说明:输出几句话,解释该程序
*************************************************************/
void view()
{printf("这是歌手大赛的计分系统!!!\n");printf("制作人:颜丙齐\n");printf("指导老师:贺利坚老师\n");printf("程序说明:该程序计算各个选手的得分!!!\n");printf("计分方式:去掉一个最高分和一个最低分然后取平均值!!!\n");printf("输入的评委打分为0~10之间的数,请大家一定不要输错哟!!!\n");printf("请大家开始使用吧!!!\n");
}
/*************************************************************
功能描述:计算一个选手的分数
输入参数:无
返 回 值:无
其他说明:通过调用其他函数实现其功能
*************************************************************/
void calScore(int n)
{double score[20];//定义一个一维数组来存放分数getscore(score,n);set_score_online(score,n);ave_score(score,n);printf("减去一个最高分%.2f,和一个最低分%.2f\n",score[n-1],score[0]);printf("该选手的最终得分为:%.2f\n",score[n]);
}
/*************************************************************
功能描述:得到各个评委的评分
输入参数:s-一个指针,是传递的一个数组n-数组的长度
返 回 值:无
其他说明:通过使用指针来给数组赋值
*************************************************************/
void getscore(double *s,int n)
{int i;int k;for(i=0; i<n; i++){k=0;do{if(k>=1){printf("您的输入有误请重新输入!!!\n");}printf("请输入第%d位评委的给分为:",i+1);scanf("%lf",&s[i]);k++;}while(s[i]>10.0);}return ;
}
/*************************************************************
功能描述:将数组中的最高分和最低分找出来,分别放在数组的末尾和开头,便于后面操作
输入参数:s-一个指针,是传递的一个数组n-数组的长度
返 回 值:无
其他说明:使用的是冒泡排序法
*************************************************************/
void set_score_online(double *s,int n)
{int i,middle;for(i=0; i<n-1; i++){if(s[i]>s[i+1]){middle=s[i];s[i]=s[i+1];s[i+1]=middle;}}for(i=n-1; i>0; i--){if(s[i]<s[i-1]){middle=s[i];s[i]=s[i-1];s[i-1]=middle;}}return;
}
/*************************************************************
功能描述:将数组中的第2~(n-1)个元素加起来,并求平均值
输入参数:s-一个指针,是传递的一个数组n-数组的长度
返 回 值:无
其他说明:将求得的平均值放在数组的第(n+1)个位上
*************************************************************/
void ave_score(double *s,int n)
{int i;double  ave=0;for(i=1; i<n-1; i++){ave=ave+s[i];}ave=ave/(n-2);s[n]=ave;return;
}

学习心得:这个程序好久就写完了,之前也是用的指针,不过一直有警告,现在也是用的指针,不过没有警告了,有点不理解。这个是完全按要求做的。做之前感觉很难,但是做完之后发现也没多少东西。

这篇关于课程实践——第二个——歌手大赛评分系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/939423

相关文章

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

SQLite3命令行工具最佳实践指南

《SQLite3命令行工具最佳实践指南》SQLite3是轻量级嵌入式数据库,无需服务器支持,具备ACID事务与跨平台特性,适用于小型项目和学习,sqlite3.exe作为命令行工具,支持SQL执行、数... 目录1. SQLite3简介和特点2. sqlite3.exe使用概述2.1 sqlite3.exe

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

Springboot整合Redis主从实践

《Springboot整合Redis主从实践》:本文主要介绍Springboot整合Redis主从的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言原配置现配置测试LettuceConnectionFactory.setShareNativeConnect

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断