//设计一程序统计一组成绩的最高分最低分和平均分。
#include<stdio.h>
int main(){
float score,avg,max=0,min=99999,sum=0,num=0;
printf("Please enter the score,use'q'to quit.\n");
while(scanf("%f",&score)==1)
{
max=(score>max?score:max);
min=(score<min?score:min);
sum+=score;
num++;
}
avg=sum/num;
printf("min=%f,max=%f,avg=%.1f",min,max,avg);
return 0;
}
![](https://profile-avatar.csdnimg.cn/adecc684d81b480bb3091c909cb9625f_ice_lemon_litchi.jpg!4)
这段代码在不考虑输入是否合法的时候是正确的吗
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
关注
让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
问题:如何设计一个程序统计一组成绩的最高分、最低分和平均分? 回答: 首先,我们需要定义变量来表示学生的成绩。根据题目要求,需要统计最高分、最低分和平均分,因此需要分别定义变量来存储这些数据。 其次,我们需要接收用户输入的成绩,并进行相应的处理。可以使用循环来逐个读取用户输入的成绩,并更新最高分、最低分和总分。 最后,我们可以根据统计得到的数据计算平均分,并将最高分、最低分和平均分输出给用户。 以下是参考代码:#include <stdio.h> int main() { float score, avg, max = 0, min = 100, sum = 0; int num = 0; printf("Please enter the score, use 'q' to quit.\n"); while (scanf("%f", &score) == 1) { max = score > max ? score : max; min = score < min ? score : min; sum += score; num++; } if (num > 0) { avg = sum / num; printf("Min = %.1f, Max = %.1f, Avg = %.1f\n", min, max, avg); } else { printf("No input data.\n"); } return 0; }
在上面的代码中,我们使用了一个while循环来持续读取用户输入的成绩,直到用户输入 'q' 为止。当用户输入一个成绩时,我们使用三元运算符来更新最高分和最低分,同时更新总分和计数器。 在循环结束后,我们判断是否有输入数据,如果num的值大于0,我们计算平均分并输出相关信息。否则,我们输出“无输入数据”的提示信息。 参考结果:
Please enter the score, use 'q' to quit. 85 92 78 94 q Min = 78.0, Max= 94.0, Avg = 87.3
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 python忆阻器数字识别
- ¥15 无法输出helloworld
- ¥15 高通uboot 打印ubi init err 22
- ¥20 PDF元数据中的XMP媒体管理属性
- ¥15 R语言中lasso回归报错
- ¥15 网站突然不能访问了,上午还好好的
- ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
- ¥15 semrush,SEO,内嵌网站,api
- ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
- ¥15 振荡电路,ADS仿真