问题: 用goto语句退出多层循环的方法,在100以内的3个数i,j,k中,找出满足i*i+j*j*+k*k>100的数(只要求找出一个·)
编程点拨: 3个数i,j,k都要从1~99逐一测试,当找到一个满足要求的数时,退出所有循环。在这种情况下,若使用break语句,则必须使用3次,而用goto语句,只用1次就够了,所以在此选用后者。程序如下:
示例代码:
#include<stdio.h>
int main(void)
{
int i=0,j=0,k=0;
for(i=1;i<100;i++)
for(j=1;j<100;j++)
for(k=1;k<100;k++)
if(i*i+j*j+k*k>100)
goto stop;
stop:printf("i=%d,j=%d,k=%d\n",i,j,k);
return 0;
}
运行结果:i=1,j=1,k=10