有以下程序,若运行时从键盘输入: 18,11< 回车 > ,则程序的输出结果是 【 9 】 。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);}

题目

有以下程序,若运行时从键盘输入: 18,11< 回车 > ,则程序的输出结果是 【 9 】 。

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
解析:外层循环共执行了 4 次,最后 a 和 b 的值都等于 1 时,退出循环输出结果。
更多“有以下程序,若运行时从键盘输入: 18,11&lt; 回车 &gt; ,则程序的输出结果是 【 9 】 。main(){ ”相关问题
  • 第1题:

    有以下程序:

    运行时,若输入1 2 3 4 5 0<;回车>;,则输出结果是( )。

    A.66656

    B.6566456

    C.66666

    D.6666656


    正确答案:B
    switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个e·*后面的常量表达式的值相等,就执行此ca*后面的语句,执行后遇break语句就退出switch语句;若圆括号中表达式的值与所有ca$e后面的常量表达式都不等,则执行default后面前语句。然后退出。所以输入l时打印65,输入2时打印6,输入3时打印64,输入4时打印5,输入5时打印6。

  • 第2题:

    有以下程序:若从键盘输入:ijk xyz<回车>,则输出结果是( )。

    A.ijk k

    B.ijk xyz

    C.xyz xyz

    D.j j


    正确答案:C
    指针P、q都指向一段长度为20个字节的空间,因此用scanf输入时,第二个字符串”xyz”会覆盖第一个字符串”ijk”,即P、q指向的空间内存放的是字符串”xyz”。

  • 第3题:

    已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>,则输出结果是________。 main() { char a,b; a=getchar();scanf("%d",&b); b=b*2; printf("%cn",b); }


    1B 1B 解析:从键盘输入后,有a=B,b=33。a=a-'A'+'0'='B'-'A'+'0'='1',b=b*2=66,在输出时均需要把a,b转化为字符型,因此输出为1B。

  • 第4题:

    有以下程序: #include<stdio.h> main( ) { int a; scanf("%d",&a); if(a++<9)printf("%d\n",a); clsc printf("%d\n",a--); } 程序运行时从键盘输入9<回车>,则输出结果是( )。

    A.10

    B.11

    C.9

    D.8


    正确答案:A
    本题考查简单的运算符操作.当输入9时,(a++<9)为假,所以执行else语句中的printf("%d\n",a--),在执行时此时a经过a++操作a=10,所以答案为A。

  • 第5题:

    有以下程序

    程序运行时从第一列开始输入:abcdefg<;回车>;,则输出结果是

    A.abcdefg

    B.bcddgh

    C.abcdefg

    D.bcddgh$


    正确答案:A
    运算符“++”放在变量后面时,先参与其他操作,再对变量+1。putchar(C++)表示先输出当前C值,再对C值+1,当输入abcdef##时,在while语句中,程序输入“#”,循环退出。因此输出为abcdefg,答案为A选项。