为了账号安全,请及时绑定邮箱和手机立即绑定

用函数求一个三角形面积

用函数求一个三角形面积

C
踏月光 2016-12-09 12:52:21
从键盘输入三角形的三条边,用函数求三角形面积,要求用欧拉公式,且主函数只负责输入和输出,子函数负责其他
查看完整描述

3 回答

?
望远

TA贡献1017条经验 获得超1032个赞

#include<stdio.h>
#include<math.h>
float fun(float a,float b,float c)
{
	float C,S;
	if(a<=0||b<=0||c<=0)
		return -1;
	if(a+b<=c||a+c<=b||b+c<=a)
		return -1;
	if(a-b>=c||a-c>=b||b-c>=a)
		return -1;
	C=(a+b+c)/2;
	S=sqrt(C*(C-a)*(C-b)*(C-c));
	return S;
}
void main()

{
	float x,y,z,S;
	printf("请依次输入三条边(以空格分隔):");
	scanf("%f%f%f",&x,&y,&z);
	S=fun(x,y,z);
	if(S==-1)
		printf("数据错误!!\n");
	else
		printf("面积=%.2f\n",S);
}

//img1.sycdn.imooc.com//584a568400012b6d03820089.jpg

ps:这个不是欧拉公式,这是海伦公式。

查看完整回答
1 反对 回复 2016-12-09
?
rubyc

TA贡献47条经验 获得超7个赞

#include<stdio.h>
#include<math.h>

float fun(float a,float b,float c){
	float p,s;
	if(a+b>c&&a+c>b&&c+b>a){
	 	p=(a+b+c)/2;
    	p=p*(p-a)*(p-b)*(p-c);
    	s=sqrt(p);
    	printf("%f",s);
	}
    else printf("你输入的三边,不能构成三角形");
}


int main()
{
    float s,a,b,c,p;
    printf("请输入三角形的三边,以空格隔开\n");
    scanf("%f%f%f",&a,&b,&c);
    fun(a,b,c); 
   
    return 0;
}


查看完整回答
反对 回复 2016-12-09
  • 3 回答
  • 0 关注
  • 1691 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信