三角形
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 67453 Accepted Submission(s): 22648
Problem Description
给定三条边,请你判断一下能不能组成一个三角形。
Input
输入数据第一行包含一个数M,接下有M行,每行一个实例,包含三个正数A,B,C。其中A,B,C <1000;
Output
对于每个测试实例,如果三条边长A,B,C能组成三角形的话,输出YES,否则NO。
Sample Input
2 1 2 3 2 2 2
Sample Output
NO YES小问题,之前用的int型,但是错误,改为double就知道了#include<stdio.h> #include<stdlib.h> #include<math.h> int main() { double a,b,c,t; int m; scanf("%d",&m); for(int j=0; j<m; j++) { scanf("%lf%lf%lf",&a,&b,&c); if(a<1000&&b<1000&&c<1000) { if(a<b) { t=a; a=b; b=t; } if(a<c) { t=a; a=c; c=t; } if(b<c) { t=b; b=c; c=t; } if((a>b-c)&&(a<b+c)) printf("YES\n");//从大到小输出 else printf("NO\n"); } } return 0; } 数组sort排序算法系列
#include<stdio.h> #include<stdlib.h> #include<math.h> #include<algorithm> using namespace std; double cmp(double x,double y) { if(x>y) return 1; return 0; } int main() { double a,b,c,wqs[2]; int m; scanf("%d",&m); for(int j=0; j<m; j++) { scanf("%lf%lf%lf",&wqs[0],&wqs[1],&wqs[2]); sort(wqs,wqs+3,cmp); if(wqs[0]<(wqs[1]+wqs[2])) printf("YES\n"); else printf("NO\n"); } return 0; }