描述
期中考试结束,ls正忙于统计分数。码小趣看到辛苦的ls,准备设计一个小程序,来帮助ls统计平均分。码小趣不清楚所有班级的人数,但是知道这次考试没有人是0分,如果输入0分则统计结束,给出平均分。
输入
输入1行:若干个空格隔开的整数,以0结尾。
输出
输出1行:一个实数,表示平均分,保留2位小数。
关于#c++#的问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
关注 引自免费微信小程序:皆我百晓生
为了解决这个问题,我们可以使用C++编写一个简单的程序,该程序读取一系列分数,直到遇到0为止,然后计算并输出平均分,结果保留两位小数。下面是一个可能的实现方式:
#include <iostream> #include <iomanip> // 用于设置输出格式 int main() { double sum = 0.0; // 用于存储总分 int count = 0; // 用于计数学生数量 int score; // 存储当前读取的分数 while (std::cin >> score) { // 循环读取分数 if (score == 0) break; // 如果分数为0,跳出循环 sum += score; // 否则,将分数累加到总分 count++; // 并增加学生计数 } if (count > 0) { // 确保有学生参加了考试 double average = sum / count; // 计算平均分 std::cout << std::fixed << std::setprecision(2) << average << std::endl; // 输出平均分,保留两位小数 } else { std::cout << "没有有效的分数数据。" << std::endl; } return 0; }
这段代码首先包含了必要的头文件,使用了
<iostream>
来进行输入输出操作,以及<iomanip>
来控制输出格式。在main
函数中,我们定义了变量sum
来累计总分,count
来记录学生数量,以及score
来存储每次读取的分数。通过while
循环读取分数,当读取到0时停止,并计算平均分,最后输出结果。注意,这里使用了
std::fixed
和std::setprecision(2)
来确保输出的平均分保留两位小数。如果输入中没有任何有效分数(即只有0),程序会输出一条错误信息,提示没有有效的分数数据。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
- ¥20 关于web前端如何播放二次加密m3u8视频的问题
- ¥20 spring boot集成mqtt的使用问题
- ¥15 使用百度地图api 位置函数报错?
- ¥15 metamask如何添加TRON自定义网络
- ¥66 关于川崎机器人调速问题
- ¥15 winFrom界面无法打开
- ¥30 crossover21 ARM64版本安装软件问题
- ¥15 mymetaobjecthandler没有进入
- ¥15 mmo能不能做客户端怪物