本文主要是介绍《C语言及程序设计》实践参考——大奖赛计分(续一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
返回:贺老师课程教学链接 项目要求
【项目1:大奖赛计分(续一)】
在歌手大奖赛中,有10个评委为参赛的选手打分,分数为1~10分。请在大奖赛计分程序基础上,增加功能,若用户输入不在0-10范围内,则立即要求重输,直到正确。
[参考解答]
#include <stdio.h>
#define n 10
int main( )
{int i;double ave, score, sum, max, min; char choice; do {i=1; max=-1; min=11; sum=0; printf("请输入选手的成绩(0-10)\n");do {printf("第 %d 位评委给分:", i);scanf("%lf", &score);if(score<0||score>10)continue; //输入不对就继续输,由于不会执行到后面的i++,提示的还是原评委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语言及程序设计》实践参考——大奖赛计分(续一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!