问题
填空题
有以下程序,若运时从键盘输入:18 ,11<回车>,则程序的输出结果是______。
main()
int a,b;
printf("Enter a,b:”);scanf("%d,%d",&a, &b);
while(a!=b)
while(a>b)a-=b;
while(b>a)b-=a;
printf("%3d%3d\n" ,a,b);
答案
参考答案:1 1
解析: 当执行scanf语句后,从键盘接收2个数字,a=18,b=11,a!=b循环成立,执行a-=b,此时a=7,b=11;再判断b>a,循环成立,执行b-=a,此时a=7,b=4;循环再次返回判断a!=b,循环成立,执行a-=b,此时a=3,b=4而判断b>a,循环成立,执行a-=b,此时a=2,b=1,判断b>a,循环不成立,循环再次返回,判断a!=b,循环成立,则执行a-=b,此时a=1,b=1判断b>a;循环不成立,循环结束程序,因为输出中有%3d,所以输出1 1。