《C语言及程序设计》实践参考——大奖赛计分

2024-03-03 08:08

本文主要是介绍《C语言及程序设计》实践参考——大奖赛计分,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

返回:贺老师课程教学链接  项目要求


【项目4:大奖赛计分】 

1)基本要求:在歌手大奖赛中,有10个评委为参赛的选手打分,分数为1~10分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。

#include <stdio.h>
#define n 10
int main( )
{int i=1;double ave, score, sum, max, min;  //这几个变量涉及成绩,double是合理的max=-1;  //这儿有技巧,第1位评委给的成绩一定大于-1,max将变成第1个成绩min=11;  //同样和技巧,要学会这样“设圈套”sum=0;   //注意:这4个变量在循环内赋初值是必须的,这意味着计算某一选手成绩的开始printf("请输入选手的成绩(0-10)\n");do  //至少有一位评委,再用do循环{printf("第 %d 位评委给分:", i);scanf("%lf", &score);sum+=score;if(max<score)max=score;  // 联想上一层循环中max的初值,学会技巧if(min>score)min=score;   i++;}while(i<=n);//下面开始计算ave = (sum-max-min)/(n-2);printf("减去一个最高分: %.3f\n", max);printf(", 减去一个最低分: %.3f\n", min);printf("当前选手的最后得分是:%.3f\n", ave);printf("******************* SUCCESS ***********************\n");return 0;
}


2)上面的程序只能处理一位选手的成绩,现拓展为多人版。输出当前选手的最后得分后,提示“按任意键计算下一位选手的成绩,退出请选择N:”如果输入的不是Nn,可以为下一位选手计算成绩。

#include <stdio.h>
#define n 10
int main( )
{int i;double ave, score, sum, max, min;  char choice;  //用于接受用户选择,字符型是合适的do     //计算选手的成绩,至少1次,用do很自然,别的循环不用想{i=1;    //i代表评委的编号,其实这个变量名起得不好max=-1;  min=11;  sum=0;   printf("请输入选手的成绩(0-10)\n");do  {printf("第 %d 位评委给分:", i);scanf("%lf", &score);sum+=score;if(max<score)max=score;  if(min>score)min=score;  i++;}while(i<=n);//下面开始计算ave = (sum-max-min)/(n-2);printf("减去一个最高分: %.3f\n", max);printf(", 减去一个最低分: %.3f\n", min);printf("当前选手的最后得分是:%.3f\n", ave);printf("******************* SUCCESS ***********************\n");printf("按 N 退出,其他键继续....");fflush(stdin);   //将输入缓冲清空,否则getchar()会读入之前录入中的回车等符号choice=getchar();}while(choice!='N' && choice!='n'); //不管输入大小写,全算数return 0;
}



这篇关于《C语言及程序设计》实践参考——大奖赛计分的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

MySQL 用户创建与授权最佳实践

《MySQL用户创建与授权最佳实践》在MySQL中,用户管理和权限控制是数据库安全的重要组成部分,下面详细介绍如何在MySQL中创建用户并授予适当的权限,感兴趣的朋友跟随小编一起看看吧... 目录mysql 用户创建与授权详解一、MySQL用户管理基础1. 用户账户组成2. 查看现有用户二、创建用户1. 基

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

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

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

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个