float 是浮点型的数据类型,定义的float x,a,b,c,d;float m,肯定做的是浮点型的运算,x+(a+b)/(c-d),保留小数点后面的位数,二楼的就是正解啊,加入定义成int型的数据类型,程序在编译执行的时候,即使是小数,也会按照你定义的数据类型,省略小数点后面的小数位数,成为整型啊,int(4、3)=1.不是1.33333。。。。懂?即使你第二个float不变,赋值符号的右操作数是整型的,所以通过赋值给左操作数,所以输出来的就是整型的喽
#include<iostream>
using namespace std;
int main()
{
int x,a,b,c,d;
float m;
cin>>x>>a>>b>>c>>d;
m=float(x+(a+b)/(c-d));
//强制类型转换
cout<<m<<endl;
system("pause");
return 0;
}
这是按照你的思路,满意没