有以下程序,若运行时从键盘输入:18, 11<回车>,则程序的输出结果是[ ]。 main() { int a,b; printf("Enter a,b:"); scanf("%d,%d",&a,&b);

admin2009-03-16  21

问题 有以下程序,若运行时从键盘输入:18, 11<回车>,则程序的输出结果是[  ]。
       main()
       { int a,b;
         printf("Enter a,b:");  scanf("%d,%d",&a,&b);
         while (a!=b)
           { while(a>b) a-=b);
            white(b>a) b-=a;
          }
          printf("%3d%3d\n",a,b);
        }

选项

答案1  1

解析 此题中定义两个变量a和b并通过scanf语句对其进行赋值,当满足“a!=b”循环条件时进行其下的条件的判断,直到最外层的条件不再被满足后进行数据的输出。自先给a和b分别赋值18和11。条件:18!=11,所以执行其下的条件判断“a>b”条件满足,a=a-b=18-7=7,然后继续判断条件a>b是否成立,此时7>11不成立,退出内循环中的第一个while循环,执行内循环的第二个while循环,比较其条件b>a是否成立,此条件成立,所以b=b-a=4,继续判决条件 b>a是否成立,若成立,则继续执行b-=a;,否则退出内循环的第二个while循环,同时继续比较外循环条件a!=b是否成立,依此类推,直到a=1,b=1条件不再被满足后进行数据的输出,所以最后的结果为:1 1。
转载请注明原文地址:https://jikaoti.com/ti/ZuK0FFFM
0

最新回复(0)