首页 > 解决方案 > 为什么在 C++ 中添加两个浮点数会得到一个整数?

问题描述

我试图在 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

标签: c++floating-pointformattingintegeriostream

解决方案


float number1, number2;
  sum,average;

那是奇怪的时刻。似乎第二行是声明两个具有 type 的变量int。它实际上不应该工作,但根据你的文字似乎是这样。此外,您正在使用一些非常旧的编译器。

修复很简单:要么添加float

float number1, number2;
float sum, average;

或用逗号替换分号:

float number1, number2, sum, average;

另外我想说的是使用doublethen更好float


推荐阅读