有以下程序 main() { int m,n; printf("Enter m,n:");scanf("%d%d",&m,&n); while(m!=n) { while(m>n)m-=n; while(n>m)n-=m; } printf("m=%d\n",m); } 如果从键盘上输入65 14<回车>,则输出结果为( )A.m=3B.m=2C.m=1D.m=0

题目

有以下程序 main() { int m,n; printf("Enter m,n:");scanf("%d%d",&m,&n); while(m!=n) { while(m>n)m-=n; while(n>m)n-=m; } printf("m=%d\n",m); } 如果从键盘上输入65 14<回车>,则输出结果为( )

A.m=3

B.m=2

C.m=1

D.m=0


相似考题
参考答案和解析
正确答案:C
更多“有以下程序main(){int m,n; printf("Enter m,n:");scanf("%d%d",&m,&n); while(m!=n) {w ”相关问题
  • 第1题:

    下面程序的功能是求整数m、n的最大公约数,请填空。 main() {int m,n,r; scanf("%d,%d",&m,&

    下面程序的功能是求整数m、n的最大公约数,请填空。

    main()

    { int m,n,r;

    scanf("%d,%d",&m,&n);

    if(【 】){r=m;m=n;n=r;)

    while(【 】)

    { r=m%n;m=n;n=r; }

    printf("%d",m);

    }


    正确答案:mn或n>m r或r!=0
    mn或n>m r或r!=0 解析:本题使用的是“辗转相除”法求两个数的最大公约数,即以两个数中较大的除以较小的,如果余数不为0,则将较小的数和余数做同样处理,直到被除断为止,此时较小的数就是两个数的最大公约数。本题第一空要求填写一个if语句的判断条件,如果满足此条件则交换m和n的值,再看后面while循环的循环体,使用m%n求余,则此if语句的作用应该是保证m是两个数中较大的那个,故第一空填mn或n>m。接下来的while循环实现整个辗转相除的过程,其结束条件应该是余数r为0,所以while的循环条件应该填r或r!=0。

  • 第2题:

    运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果为______。 main(){int m,n;printf("Ente

    运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果为______。 main() { int m,n; printf("Enter m,n:"); scanf("%d%d",&m,&n); while(m!=n) { while(m>n)m-=n; while(n>m)n-=m; } printf("m=%d\n",m); }

    A.m=3

    B.m=2

    C.m=1

    D.m=0


    正确答案:C
    解析:分析程序可知,该程序实现的功能是对数m,n求其最大公约数。在本题中m与n的值分别为65与14,其最大公约数为1,故其输出结果为m=1。

  • 第3题:

    27、运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果为()。 int main(void){ int m, n; printf("Enter m,n;"); scanf("%d%d", &m,&n); while (m != n) { while (m > n) m = m - n; while (n > m) n = n - m; } printf("m=%d\n",m); return 0;}

    A.m=3

    B.m=2

    C.m=1

    D.m=0


    C

  • 第4题:

    运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果为______。main(){int m,n;printf("Enter

    运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果为______。 main() { int m,n; printf("Enter m,n:"); scanf("%d%d",&m,&n); while(m!=n) { while(m>n)m-=n; while(n>m)n-=m; } printf("m=%d\n",m); }

    A.m=3

    B.m=2

    C.m=1

    D.m=0


    正确答案:C
    解析:分析程序可知,该程序实现的功能是对数m,n求其最大公约数。在本题中m与n的值分别为65与14,其最大公约数为1,故其输出结果为m=1。

  • 第5题:

    运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果为 main () { int m,n; printf("Enter m,n:"); scanf("%d%d",&m,&n); while(m!=n) { while(m > n)m-=n; while(n > m)n-=m; } printf("m=%dn",m); }

    A.3

    B.2

    C.1

    D.0


    A