/*
* 文件名:三角形类型判断.c
* 功能描述:输入三角形三条边,判断其类型
* (普通 直角 等边 等腰)
*/
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a, b, c;
fprintf(stdout, "请输入任意三角形的三条边长(正整数):");
/* 获取并检查输入 */
while (1)
{
if (fscanf(stdin, "%d%d%d", &a,&b,&c) != 3 || \
a < 0 || b < 0 || c < 0)
{
fprintf(stderr, "输入错误!请重新输入:");
while (fgetc(stdin) != '\n'); /* 去掉多余非法字符 */
continue;
}
else
break;
}
/* 判断是否可构成三角形 */
/* 任意两边之和大于第三边 */
if (a+b<=c || a+c<=b || b+c<=a)
{
fprintf(stdout, "输入的边长无法构成三角形!\n");
exit(0);
}
/* 判断三角形类型 */
if (a == b || a == c || b == c)
{
if (a==b && b==c && a==c)
{
fprintf(stdout, "输入的边长为等边三角形\n");
}
else
{
fprintf(stdout, "输入的边长为等腰三角形\n");
}
}
else if (a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a)
{
fprintf(stdout, "输入的边长为直角三角形\n");
}
else
{
fprintf(stdout, "输入的边长为普通三角形\n");
}
return 0;
}
【C语言】之实现三角形类型判断
最新推荐文章于 2023-02-19 14:39:04 发布