c语言坐标三角形判定,如何判断三角形类型的c语言小程序

引导语;c语言中有很多有趣的小程序,以下是小编分享给大家的,欢迎阅读!

#include

#include

#define EPSINON 1e-3

#define ABS***a*** *********a***>0***?***a***:***-a****** //?:不支持表达式嵌套

#define ZERO***x*** ******x***>-EPSINON && ***x***< p="">

#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***;

else

mid = 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***"等腰锐角三角形。"***;

else

puts***"等腰钝角三角形。"***;

}

else

{

if***equal***min, mid******

puts***"等边三角形。"***;

else

puts***"等腰锐角三角形。"***;

}

}

else if***equal***max_square, tmp******

puts***"直角三角形。"***;

else if***max_square < tmp***

puts***"锐角三角形。"***;

else

puts***"钝角三角形。"***;

}

}

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;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值