从键盘输入三角形的三条边,用函数求三角形面积,要求用欧拉公式,且主函数只负责输入和输出,子函数负责其他
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); }
ps:这个不是欧拉公式,这是海伦公式。
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; }
- 3 回答
- 0 关注
- 1700 浏览
添加回答
举报
0/150
提交
取消