希望得到详细的解释,为什么会输出这个结果?

main()
{ int m=37,n=13;
while(m!=n)
{ while(m>n)
m=m-n;
while(n>m)
n-=m;
}
printf(“m=%d\n”,m);
}
运行结果:
m=1

第1个回答  2011-12-30
第一次循环37!=13且37>13 =》 m=37-13=24 ,n=13;
第二次循环24!=13且24>13 =》 m=24-13=11 ,n=13;
第三次循环11!=13且11<13 =》 m=11, n=13-11=2;
第四次循环11!= 2且11> 2 =》 m=11-2=9, n=2;
第五次循环 9!= 2且 9> 2 =》 m= 9-2=7, n=2;
第六次循环 7!= 2且 7> 2 =》 m= 7-2=5, n=2;
第七次循环 5!= 2且 5> 2 =》 m= 5-2=3, n=2;
第八次循环 3!= 2且 3> 2 =》 m=3-2=1 , n=2
第九次循环 1!= 2且 1< 2 =》 m=1 , n=2-1=1
第十次 1=1,输出m的值为1本回答被提问者采纳
相似回答
大家正在搜