时间:2021-05-20
复制代码 代码如下:
#include <stdio.h>
#include <stdlib.h>
#defineEPSINON1e-3
#defineABS(a)(((a)>0)?(a):(-a)) //?:不支持表达式嵌套
#define ZERO(x)((x)>-EPSINON && (x)<EPSINON)
#define MAX(a,b)(((a)>(b))?(a):(b))
#define MIN(a,b)(((a)<(b))?(a):(b))
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;
}
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文主要研究的是输入三角形边长判断其类型并输出面积,用C语言实现,具体如下。思路:首先判断所给的三条边是否能够组成三角形,若可以组成三角形,则判断该三角形是什么
C#中杨辉三角的实现问题描述:创建一个程序来求三角形。该程序提示用户输入数据,然后显示出杨辉三角的规律。//输入描述:杨辉三角长,代表数值//程序输出:杨辉三角
#判断三角形类型deftriangle(a,b,c):ifa>0andb>0andc>0:ifa+b>candb+c>aanda+c>b:ifa==bandb=
以格力,海尔,美的空调为例,空调遥控器图标含义: 1、三角型符号:表示为自动模式,空调会根据室内温度高低自动进行制冷或制热工作。 2、太阳符号:制热模式,空
以前写过一篇纯CSS制作带三角的边框,那篇文章是用HTML特殊字符来制作三角的,今天介绍下,如何用border来制作三角。html代码如下:复制代码代码如下:c