printf("Input a side of triangle: ");
scanf("%d",&a);
p=(3*a)/2;
c=3*a;
area=sqrt(p*(p-a)^3);
printf("The area of triangle is %.2f, the circle of triangle is %d.",area,c);
}根据“海伦-秦九韶”公式,area=√p(p-a)(p-b)(p-c),其中p=(a+b+c)/2计算三角形的面积和周长,结果周长是错误的,面积是错误的,求各位解释下作者: 流风124 时间: 2015-4-19 18:33
恩,大概理解了一下你的题目,周长的结果应该是对的(但周长只能是整数),面积那里计算错了
area=sqrt(p*(p-a)^3);
复制代码
^ 这个符号是位运算的异或,不是你以为的3次方,改成下面的就ok
area=sqrt(p*pow((p-a),3));
复制代码
把你的完整代码给改了一下,你可以看看,不知道我的理解对不对
#include<stdio.h>
#include<math.h>
int main()
{
int a,p,c;
float area;
printf("Input a side of triangle: ");
scanf("%d",&a);
c=3*a;
p=c/2;
area=sqrt(p*pow((p-a),3));
printf("The area of triangle is %.2f, the circle of triangle is %d.",area,c);