void main(){in a,b;for(a=0;a main() { int a,b,n;for(a=1;avoid main(){ int a,b; for(a=1;a<40;a++)for(b=1;b<40;b++) if(a*a+b==1053&&b*b+a==873)
printf("a=%d,b=%d\n",a,b);}//for循环算法:穷举法a=1时,让b从1变到39,看有没有满足条件的a、b组合。如果有则输出。当b变到39后,执行完if语句,b要自加变成40,此时内循环的控制条件b<40不满足,内循环结束。随后a自加变为2,然后b再次由1变到39,看a=2、b=1到39有没有满足条件的组合……》如果你用的是TC编译环境,程序可以简化为下边更常见的》》:main(){ int a,b; for(a=1;a<40;a++)for(b=1;b<40;b++) if(a*a+b==1053&&b*b+a==873)
printf("a=%d,b=%d\n",a,b);}这道题用while循环不怎么方便,建议用for循环。如果把我的答案采纳了,不用给我分了,还有问题可以HI我。
|