内容:
某公司进行一场技能大赛,要进行现场评分,请设计程序完成该功能 要求评委人数和每位评委的打分从键盘输入,去掉一个最高分,再去掉一个最低分,输出评委给出的最后得分
原理(或要点):
while语句,do-while语句和for语句的使用。编写程序并调试。①要求设计一个通用的评分程序,评委人数到比赛现场决定②学会熟练使用 while、do-while或for语句编写解决上述问题的程序③根据程序运行的结果分析程序的正确性,总结循环结构程序设计技巧和方法
#include <stdio.h>
int main()
{
int judges, score, min = 10, max = 0, sum = 0;
float result;
printf("请输入评委人数:");
scanf("%d", &judges);
printf("请依次输入%d位评委的打分:\n", judges);
for (int i = 1; i <= judges; i++)
{
scanf("%d", &score);
if (score > max)
{
max = score;
}
if (score < min)
{
min = score;
}
sum += score;
}
result = (float)(sum - max - min) / (judges - 2); // 去掉最高分和最低分的平均分
printf("最终得分为:%.2f", result);
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:do-while 语句和 while 语句都擅长于解决循环次数未知的重复操作,但两者在实际应用中还是有区别的:
do-while 语句是先执行循环体语句,后判断循环条件是否成立;while 语句是先判断循环条件是否成立,后执行循环体语句。
do-while 语句中,无论循环条件是否成立,总要执行一次循环体语句;while 语句中,如果循环条件不成立,则不执行循环体语句。