|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
int main()
{
int t,a,b,c,wr[10000],d;
scanf("%d",&t);
d=t;
while(t--)
{
scanf("%d %d %d",&a,&b,&c);
if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
wr[t-1]=1;
else if(a==b||a==c||b==c)
wr[t-1]=2;
else wr[t-1]=3;
printf("%d\n",wr[t-1]);
}
for(;d>=0;d-=1);
{
printf("%d\n",wr[d]);
}
return 0;
}
本帖最后由 jackz007 于 2019-3-17 17:18 编辑
问题由数组 wr[] 索引越界引起,下面的代码已经修正,请楼主测试。
- #include<stdio.h>
- int main()
- {
- int t , a , b , c , wr[10000] , d ;
- scanf("%d", & t) ;
- d = t ;
- while(t --) {
- scanf("%d %d %d" , & a , & b , & c) ;
- if(a * a + b * b == c * c || a * a + c * c == b * b || b * b + c * c == a * a) wr[t] = 1 ; // 修改此句
- else if(a == b || a == c || b == c) wr[t] = 2 ; // 修改此句
- else wr[t] = 3 ; // 修改此句
- printf("%d\n" , wr[t]) ; // 修改此句
- }
- for(; d > 0 ; d -= 1) printf("%d\n" , wr[d - 1]) ; // 修改此句,原程序循环代码有误
- }
复制代码
|
|