C++ 海伦公式求三角形面积 怎么输出是0啊 求解答!
//编写一个函数计算三角形的面积
#include
using namespace std;
#include
double area(double a, double b,double c);
int main()
{
double x, y ,z ;
cout << "Enter 3 numbers: " << endl;
cin >> x;
cin >> y;
cin >> z;
if(x+y>z && x+z>y && y+z>x){
cout << "The area is : " <<area(x, y ,z)<< endl;
}
return 0;
}
double area(double a, double b,double c)
{
double s,A,m;
s=1/2*(a+b+c);
A=s*(s-a)(s-b)(s-c);
m=sqrt(A);
return m;
}
Enter 3 numbers:
3 4 5
The area is : 0
Press any key to continue
double area(double a, double b, double c)
{
double s, A, m;
//s = (a + b + c) / 2;
s = 1.0 / 2 * (a + b + c);//这里1是整数,整数除以整数就会被当做整数去运算,结果就是0,所以1需要修改为浮点型
A = s * (s - a) * (s - b) * (s - c);
m = sqrt(A);
return m;
}
1/2改为0.5
1改成1.0
s=1/2*(a+b+c);
1/2等于0哦。应该是1.0/2.0。