输入三角形边长,求面积

输入三角形边长,求面积

公式: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;
}

4.运行结果:

猜你喜欢

转载自blog.csdn.net/qq_47023150/article/details/123295071
今日推荐