C++编写求两数平均值代码输出10而非10.00报错如何解决
问题修复方案
问题原因
C++的cout默认输出浮点数时会自动省略末尾无意义的0和小数点,当计算结果为整数时就会输出整数格式,不符合要求的两位小数格式。
修正步骤
- 引入格式控制头文件
<iomanip>,该头文件提供输出精度、格式控制的相关函数 - 在输出平均值前,为
cout设置定点小数输出+保留两位小数的格式规则
修正后完整代码
#include <iostream> #include <iomanip> using namespace std; int main() { float a, b, average; cin >> a; cin >> b; average = (a + b) / 2; cout << fixed << setprecision(2); cout << average << endl; return 0; }
代码说明
fixed:指定浮点数用定点计数法输出,而非科学计数法setprecision(2):搭配fixed使用时,表示保留小数点后2位有效数字,符合题目要求的输出格式,输入10和10时会正确输出10.00
内容的提问来源于stack exchange,提问作者QuantumPi
相关产品推荐
相关产品推荐

