当前位置:编程学习 > C/C++ >>

问题一百二十一:构成直角三角形

[plain]  Description 
 
读入3个非零整数后,判别这三个值是否可以表示一个直角三角形的三条边。  
 
Input 
 
第一行是测试数据组数n。下面有n行,每行分别是用空格隔开的3个int类型整数,代表三角形的三条边。 
 
Output 
 
输出为n行,对应第n行输入的结果。判断输入的三个值是否可以表示一个直角三角形的三条边,如果能则输出1,如果不能输出0。 
 
Sample Input 
 
 
2  
3 4 5  
5 6 1 
 
Sample Output 
 
 

Description

读入3个非零整数后,判别这三个值是否可以表示一个直角三角形的三条边。

Input

第一行是测试数据组数n。下面有n行,每行分别是用空格隔开的3个int类型整数,代表三角形的三条边。

Output

输出为n行,对应第n行输入的结果。判断输入的三个值是否可以表示一个直角三角形的三条边,如果能则输出1,如果不能输出0。

Sample Input


2
3 4 5
5 6 1

Sample Output


1
0
 


[plain] #include <stdio.h> 
main() 

            int n; 
            int a; 
            int b; 
            int c; 
 
            scanf("%d",&n); 
 
            while(n--) 
            { 
            scanf("%d %d %d",&a, &b, &c); 
 
            if(a>0 && b>0 && c>0) 
            { 
                if(a+b>c && b+c>a && a+c>b)             
                { 
                    if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a) 
                    { 
                       printf("1");  
                    } 
                    else 
                    { 
                       printf("0"); 
                    } 
                } 
                else 
                { 
                printf("0"); 
                } 
            } 
            else 
            { 
                printf("0"); 
            } 
 
            if(n>0) 
                printf("\n"); 
            } 

#include <stdio.h>
main()
{
   int n;
   int a;
   int b;
   int c;

   scanf("%d",&n);

   while(n--)
   {
   scanf("%d %d %d",&a, &b, &c);

            if(a>0 && b>0 && c>0)
   {
    if(a+b>c && b+c>a && a+c>b)   
    {
     if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
     {
        printf("1"); 
     }
     else
     {
           printf("0");
     }
    }
    else
    {
    printf("0");
    }
   }
   else
   {
    printf("0");
   }

   if(n>0)
    printf("\n");
   }
}

  

 \
 


 

补充:软件开发 , C语言 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,