输入三角形边长,求面积
公式:s = 1/2(a+b+c);area = √s*(s-a)(s-b)(s-c)
这条代码看似简单,但是对应的公式中存在着好几个“小坑”。
1.第一个需要注意的就是
‘/’整除——取整,假如你的实际运算结果是一个比1小的整数,计算机就会自动给你取0。这里可以强制运算结果转化为,单精度或者双精度浮点型数据。
s = 1/2(a+b+c);area = √s*(s-a)*(s-b)*(s-c);
2.第二个就是这里引用了sqrt求根函数
所以我们需要再一开始就链接math库。
#include<math.h>
3.完整版代码
#include <stdio.h>
#include <math.h>
int main(int argc, const char *argv[])
{
int s,a,b,c;
printf("请输入三角形边长:\n");
scanf("%d%d%d",&a,&b,&c);
if(a+b<c||a+c<b||b+c<a)
{
printf("err\n");
return -1;
}
else if(a<0||b<0||c<0)
{
printf("err\n");
return -1;
}
else
{
s=(double)1/2*(a+b+c);
s=sqrt(s*(s-a)*(s-b)*(s-c));
printf("三角形的面积为:%d\n",s);
}
return 0;
}