用函数求一个三角形面积

从键盘输入三角形的三条边,用函数求三角形面积,要求用欧拉公式,且主函数只负责输入和输出,子函数负责其他
踏月光
浏览 1701回答 3
3回答

望远

#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

#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; }
打开App,查看更多内容
随时随地看视频慕课网APP