《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

相关文章

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

golang内存对齐的项目实践

《golang内存对齐的项目实践》本文主要介绍了golang内存对齐的项目实践,内存对齐不仅有助于提高内存访问效率,还确保了与硬件接口的兼容性,是Go语言编程中不可忽视的重要优化手段,下面就来介绍一下... 目录一、结构体中的字段顺序与内存对齐二、内存对齐的原理与规则三、调整结构体字段顺序优化内存对齐四、内

Go语言中三种容器类型的数据结构详解

《Go语言中三种容器类型的数据结构详解》在Go语言中,有三种主要的容器类型用于存储和操作集合数据:本文主要介绍三者的使用与区别,感兴趣的小伙伴可以跟随小编一起学习一下... 目录基本概念1. 数组(Array)2. 切片(Slice)3. 映射(Map)对比总结注意事项基本概念在 Go 语言中,有三种主要

C语言中自动与强制转换全解析

《C语言中自动与强制转换全解析》在编写C程序时,类型转换是确保数据正确性和一致性的关键环节,无论是隐式转换还是显式转换,都各有特点和应用场景,本文将详细探讨C语言中的类型转换机制,帮助您更好地理解并在... 目录类型转换的重要性自动类型转换(隐式转换)强制类型转换(显式转换)常见错误与注意事项总结与建议类型

C++实现封装的顺序表的操作与实践

《C++实现封装的顺序表的操作与实践》在程序设计中,顺序表是一种常见的线性数据结构,通常用于存储具有固定顺序的元素,与链表不同,顺序表中的元素是连续存储的,因此访问速度较快,但插入和删除操作的效率可能... 目录一、顺序表的基本概念二、顺序表类的设计1. 顺序表类的成员变量2. 构造函数和析构函数三、顺序表

python实现简易SSL的项目实践

《python实现简易SSL的项目实践》本文主要介绍了python实现简易SSL的项目实践,包括CA.py、server.py和client.py三个模块,文中通过示例代码介绍的非常详细,对大家的学习... 目录运行环境运行前准备程序实现与流程说明运行截图代码CA.pyclient.pyserver.py参

使用C++实现单链表的操作与实践

《使用C++实现单链表的操作与实践》在程序设计中,链表是一种常见的数据结构,特别是在动态数据管理、频繁插入和删除元素的场景中,链表相比于数组,具有更高的灵活性和高效性,尤其是在需要频繁修改数据结构的应... 目录一、单链表的基本概念二、单链表类的设计1. 节点的定义2. 链表的类定义三、单链表的操作实现四、

Go语言利用泛型封装常见的Map操作

《Go语言利用泛型封装常见的Map操作》Go语言在1.18版本中引入了泛型,这是Go语言发展的一个重要里程碑,它极大地增强了语言的表达能力和灵活性,本文将通过泛型实现封装常见的Map操作,感... 目录什么是泛型泛型解决了什么问题Go泛型基于泛型的常见Map操作代码合集总结什么是泛型泛型是一种编程范式,允

Android kotlin语言实现删除文件的解决方案

《Androidkotlin语言实现删除文件的解决方案》:本文主要介绍Androidkotlin语言实现删除文件的解决方案,在项目开发过程中,尤其是需要跨平台协作的项目,那么删除用户指定的文件的... 目录一、前言二、适用环境三、模板内容1.权限申请2.Activity中的模板一、前言在项目开发过程中,尤