算法竞赛入门经典ch_1_practice6判断三角形(c++)
输入三角形3条边的长度值(均为正整数),判断是否能为直角三角形的3个边长。 如果
可以,则输出yes,如果不能,则输出no。 如果根本无法构成三角形,则输出not a triangle。
判断三角形成立的条件:
- 两边之和大于第三边
- 两边之差小于第三边
#include "stdio.h"
#include <cmath>
int main()
{
int a,b,c;
scanf("%d%d%d", &a, &b, &c);
if (a + b <= c || abs(a - b) >=c)
{
printf("not a triangle\n");
return 0;
}
if (a + c <= b || abs(a - c) >=b)
{
printf("not a triangle\n");
return 0;
}
if (c + b <= a || abs(c - b) >=a)
{
printf("not a triangle\n");
return 0;
}
if (a*a + b*b == c*c || a*a + c*c == b*b || b*b + c*c == a*a)
printf("yes\n");
else
printf("no\n");
return 0;
}
本文来自博客园,作者:ssh_alitheia,转载请注明原文链接:https://www.cnblogs.com/shanchuan/p/8150308.html