Linux下的C语言编程——求三角形面积

来源:互联网 发布:世界行政区域数据 编辑:程序博客网 时间:2024/05/18 00:06

求三角形面积

第一点,需要先判断是否是三角形

第二点,处理等边三角形

第三点,求面积

#include <stdio.h>#include <math.h>float solve_len(float a,float b,float c,float d){float len;float sum;sum = (a - c) * (a - c) + (b - d) * (b - d);len = sqrt(sum);return len;}float solve_max(float a,float b,float c){if(a > b){if(a > c){return a;}else{return b;}}else{if(b > c){return b;}else{return c;}}}int main(){float a,b,c,d,e,f;float x,y,z,h;float max;float area;printf("input three coordinates:\n");scanf("%f%f%f%f%f%f",&a,&b,&c,&d,&e,&f);x = solve_len(a,b,c,d);y = solve_len(a,b,e,f);z = solve_len(c,d,e,f);max = solve_max(x,y,z);if((max < (x + y)) && (max < (x + z)) && (max < (z + y))){if(x >= y && x >= z){h = solve_len(e,f,(a + c) / 2,(b + d) / 2);area = (h * x) / 2;}elseif(y >= x && y >= z){h = solve_len(c,d,(a + e) / 2,(b + f) / 2);area = (h * y) / 2;}elseif(z >= y && z >= x){h = solve_len(a,b,(c + e) / 2,(d + f) / 2);area = (h * z) / 2;}printf("area = %.2f\n",area);}else{printf("not a triangle!\n");}    return 0;}

0 0
原创粉丝点击