C语言 构成直角三角形的条件
描述读入3个非零整数后,判别这三个值是否可以表示一个直角三角形的三条边。输入第一行是测试数据组数n。下面有n行,每行分别是用空格隔开的3个int类型整数,代表三角形的三条...
描述
读入3个非零整数后,判别这三个值是否可以表示一个直角三角形的三条边。
输入
第一行是测试数据组数n。下面有n行,每行分别是用空格隔开的3个int类型整数,代表三角形的三条边。
输出
输出为n行,对应第n行输入的结果。判断输入的三个值是否可以表示一个直角三角形的三条边,如果能则输出1,如果不能输出0。
样例输入
2
3 4 5
5 6 1样例输出
1
0
我的代码如下:
#include <stdio.h>
main(){
long t,a,b,c;
scanf("%d",&t);
while(t--){
scanf("%d %d %d",&a,&b,&c);
if((a*a+b*b==c*c)||(c*c+b*b==a*a)||(a*a+c*c==b*b))
printf("1\n");
else printf("0\n");
}
}
为什么提交后老是提示结果出错??
http://www.bianchengla.com/course/cpp/practise/problem?id=1198 展开
读入3个非零整数后,判别这三个值是否可以表示一个直角三角形的三条边。
输入
第一行是测试数据组数n。下面有n行,每行分别是用空格隔开的3个int类型整数,代表三角形的三条边。
输出
输出为n行,对应第n行输入的结果。判断输入的三个值是否可以表示一个直角三角形的三条边,如果能则输出1,如果不能输出0。
样例输入
2
3 4 5
5 6 1样例输出
1
0
我的代码如下:
#include <stdio.h>
main(){
long t,a,b,c;
scanf("%d",&t);
while(t--){
scanf("%d %d %d",&a,&b,&c);
if((a*a+b*b==c*c)||(c*c+b*b==a*a)||(a*a+c*c==b*b))
printf("1\n");
else printf("0\n");
}
}
为什么提交后老是提示结果出错??
http://www.bianchengla.com/course/cpp/practise/problem?id=1198 展开
7个回答
展开全部
a、b、c他可能会输入负数,所以(a > 0) && (b > 0) && (c > 0)这个判断要加上去
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
输入的都是整数,都定义成 int t,a,b,c;就行了,我这运行好着呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询