【发布时间】:2020-01-18 09:25:55
【问题描述】:
我试图在 C++ 中计算两个浮点数 6.5 和 7.5 的总和。我希望结果是带有小数的浮点数,如14.000000。但它给出了一个答案14,以及没有小数的整数。
有人可以解释发生了什么吗?
#include <iostream.h>
int main ()
{
float number1, number2;
sum,average;
cout<<"Enter 2 numbers";
cout<<"number1=";
cin>>number1;
cout<<"number2=";
cin>>"number2;
sum = numberl+number2;
average=sum/2;
cout << "sum=" <<sum ;
cout << "Average = " << average;
return 0;
}
输出是:
Enter 2 numbers: 6.5 7.5
Sum=14
Average=7
【问题讨论】:
-
试试
#include <iomanip> /* ... */ std::cout << std::fixed << std::setprecision(2) << your_value << '\n'; -
您需要提供详细信息,阅读How do I ask a good question?
-
也可以选择 C 或 C++(不能同时选择两者)并在此处发布您的代码
-
看起来你在使用一个古老的编译器。
iostream.h几十年前就被删除了。在这种情况下,了解您使用的编译器很重要。这是 1996 年的旧 Turbo C++ 吗?此类旧编译器的行为与 1998 年后的“现代”编译器截然不同。 -
当您在 Stack Overflow 问题或答案中输入程序文本时,复制并粘贴 exact 代码。不要重新输入。问题中的代码至少存在三个看起来像重新输入错误的问题:
sum,average;缺少关键字。cin>>"number;有一个不应有的引号。而sum = numberl+number2;有一个l而不是1。此类错误会妨碍人们重现您的问题或理解您的问题。
标签: c++ floating-point formatting integer iostream