本文主要是介绍HDOJ 2039 三角形,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
三角形
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");//从大到小输出elseprintf("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");elseprintf("NO\n");}return 0; }
这篇关于HDOJ 2039 三角形的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!