为什么会输出奇怪的数
#include<stdio.h>int main()
{
int t,a,b,c,wr,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=1;
else if(a==b||a==c||b==c)
wr=2;
elsewr=3;
printf("%d\n",wr);
}
for(;d>=0;d-=1);
{
printf("%d\n",wr);
}
return 0;
} 本帖最后由 jackz007 于 2019-3-17 17:18 编辑
问题由数组 wr[] 索引越界引起,下面的代码已经修正,请楼主测试。
#include<stdio.h>
int main()
{
int t , a , b , c , wr , 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 = 1 ; // 修改此句
else if(a == b || a == c || b == c) wr = 2 ; // 修改此句
elsewr = 3 ; // 修改此句
printf("%d\n" , wr) ; // 修改此句
}
for(; d > 0 ; d -= 1) printf("%d\n" , wr) ; // 修改此句,原程序循环代码有误
}
页:
[1]