2023年6月28日发(作者:)
c语⾔判定三⾓形流程图_如何判断三⾓形类型的c语⾔⼩程序引导语;c语⾔中有很多有趣的⼩程序,以下是百分⽹⼩编分享给⼤家的如何判断三⾓形类型的c语⾔⼩程序,欢迎阅读!#include#include#define EPSINON 1e-3#define ABS(a) (((a)>0)?(a):(-a)) //?:不⽀持表达式嵌套#define ZERO(x) ((x)>-EPSINON && (x)#define MAX(a,b) (((a)>(b))?(a):(b))#define MIN(a,b) (((a)float a, b, c;float max, mid, min;char input_err_flag = 0;char judge_err_flag = 0;int equal(float a, float b){float tmp;tmp = a - b;tmp = ZERO(ABS(tmp));return tmp;}void input(void){a = b = c = 0;printf("输⼊三条边的值:");scanf("%f %f %f",&a, &b, &c);if(!(a>0) || !(b>0) || !(c>0)){input_err_flag = 1;}}void sort(void){max = MAX(MAX(a,b),c);min = MIN(MIN(a,b),c);if(MAX(a,b) < c)mid = MAX(a,b);elsemid = MAX(MIN(a,b),c);}void judge(void){float max_square, mid_square, min_square, tmp;if(max >= (mid+min)){judge_err_flag = 1;}else{max_square = max * max;mid_square = mid * mid;min_square = min * min;tmp = mid_square + min_square;if(equal(mid,min) || equal(max, mid)){if(equal(mid, min)){if(mid == max)puts("等边三⾓形。");else if(equal(max_square, tmp))puts("等腰直⾓三⾓形。");else if(max_square < tmp)puts("等腰锐⾓三⾓形。");elseputs("等腰钝⾓三⾓形。");}else{if(equal(min, mid))puts("等边三⾓形。");elseputs("等腰锐⾓三⾓形。");}}else if(equal(max_square, tmp))puts("直⾓三⾓形。");else if(max_square < tmp)puts("锐⾓三⾓形。");elseputs("钝⾓三⾓形。");}}int main(void){char cs, ch;do{input();sort();judge();if(input_err_flag){input_err_flag = 0;while((cs=getchar())!='n' && (cs=getchar())!=EOF);printf("输⼊错误,a b c必须⼤于零,是否新输⼊(y/n):");}else if(judge_err_flag){judge_err_flag = 0;while((cs=getchar())!='n' && (cs=getchar())!=EOF);printf("组不成三⾓形,是否重新输⼊(y/n):");}else{while((cs=getchar())!='n' && (cs=getchar())!=EOF);printf("是否再输⼊⼀组数据(y/n):");}ch = getchar();}while(ch=='y' || ch=='Y' || ch=='n');puts("Goodbye!");return 0;}
发布者:admin,转转请注明出处:http://www.yc00.com/web/1687892609a54489.html
评论列表(0条)