【题目描述】
给定三个正整数,分别表示三条线段的长度,判断这三条线段能否构成一个三角形。如果能构成三角形,则输出“yes”,否则输出“no”。
【输入】
输入共一行,包含三个正整数,分别表示三条线段的长度,数与数之间以一个空格分开。
【输出】
如果能构成三角形,则输出“yes” ,否则输出“no”。
【输入样例】
3 4 5
【输出样例】
yes
第一种:a,b,x,三个变量,把最长的线段放在x中,然后判断两条短的线段相加是否大于最长的线段
#include<iostream> #include<cstdio> using namespace std; int main() { int a,b,x,t; cin>>a>>b>>x; if(a>b){t=a;//如果a长,a,b交换 a=b; b=t; } if(b>x){//如果b长,b,x交换 t=b; b=x; x=t; } if(a+b>x) cout<<"yes"; else cout<<"no"; return 0; }
第二种:只要有一条边,大于其它两条边的和就不能组成三角形
#include<cstdio> #include<iostream> using namespace std; int main() { int a,b,c; cin>>a>>b>>c; if((((a-b-c)>0)||((b-a-c)>0)||(c-a-b>0))) printf("no"); else printf("yes"); return 0; }