作业帮 > 综合 > 作业

main() { int a=18,b=11; while (a!=b) {while(a>b) a-=b;while(

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/06 09:50:21
main() { int a=18,b=11; while (a!=b) {while(a>b) a-=b;while(b>a)b-=a;}printf("%d,%d\n",a,b);}
#include
main()
{ int a=18,b=11;
while (a!=b)
{while(a>b) a-=b;
while(b>a) b-=a;
}
printf("%d,%d\n",a,b);
}
这个程序 怎么算出来 结果是1 1的 怎么我算了半天不对呢
麻烦 各位在帮我看看这俩个 好么
为了方便说明,把3个while分别称为循环A、B、C
1.第一次A循环
a=18,b=11
进入B循环
a=7
进入C循环
b=4
2.第二次A循环
进入B循环
a=3
进入C循环
b=1
3.第三次A循环
进入B循环:
第一次B循环
a=2
第二次B循环
a=1
此时,a=1,b=1
不满足A、B、C循环的条件,循环结束,结果就是1,1