1.用double不要用int
2.两边和、两边差只需要判断一个即可,因为a+b>c移项即得c-b<a,建议判断两边和,因为两边差还要求一下绝对值。
#include <bits/stdc++.h>
using namespace std;
int main(){
int n; cin>>n;
while(n--){
double a,b,c; cin>>a>>b>>c;
printf("%s\n",a+b>c&&a+c>b&&b+c>a?"YES":"NO");
}
return 0;
}
#include <bits/stdc++.h>
using namespace std;
double a[3];
bool is_triangle(){
for(int i=0;i<=1;i++)
for(int j=i+1;j<=2;j++)
if(a[i]+a[j]<=a[3-i-j])
return false;
return true;
}
int main(){
int n;cin>>n;
while(n--){
for(int i=0;i<3;i++) cin>>a[i];
printf("%s\n",is_triangle()?"YES":"NO");
}
return 0;
}