
求解,请详细解释一下这个程序的功能是干嘛的,再解释一下D选项, 5
[8]、关于下列程序的输入与输出,下列说法正确的有()。#include<stdio.h>voidmain(){intm,n;printf("Enterm,n∶");sc...
[8]、关于下列程序的输入与输出,下列说法正确的有( )。
#include <stdio.h>
void 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);
}
【答 案】CD
【分 数】2分
【选 项】
A、输入m>n时,程序将输出1
B、输入m<n时,程序将输出1
C、输入m,n满足m%n等于0,且m>n时,程序输出n的值
D、输入m或n为0时,程序将陷入死循 展开
#include <stdio.h>
void 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);
}
【答 案】CD
【分 数】2分
【选 项】
A、输入m>n时,程序将输出1
B、输入m<n时,程序将输出1
C、输入m,n满足m%n等于0,且m>n时,程序输出n的值
D、输入m或n为0时,程序将陷入死循 展开
2个回答
展开全部
m%n的意思m与n之间成倍数关系;
输入两个整数,
当两个整数不一样时:
若m>n,那么m=m-n;(该循环直到m<=n结束),若m与n不是倍数关系那么m不会与n相等。即必将会执行下面一条语句n=n-m;将输出的是m%n。
若n>m,那么n=n-m;(该循环知道m>=n结束),若m与n不是倍数关系那么m不会与n相等。就会输出n%m.
若n.m成倍数关系,就如我上面的即使可以实现为0的机会,就可以输出当前m的值。
但若n,m中有一个为0,那么不管怎么减n或m的值都不会改变,循环不会结束,就会进入死循环。
若输入的两个整数相等那就不会进入这几个循环,直接输出m的值。
这个是我理解的,可能有不对的地方,希望能帮到你。(*^__^*) 嘻嘻……
输入两个整数,
当两个整数不一样时:
若m>n,那么m=m-n;(该循环直到m<=n结束),若m与n不是倍数关系那么m不会与n相等。即必将会执行下面一条语句n=n-m;将输出的是m%n。
若n>m,那么n=n-m;(该循环知道m>=n结束),若m与n不是倍数关系那么m不会与n相等。就会输出n%m.
若n.m成倍数关系,就如我上面的即使可以实现为0的机会,就可以输出当前m的值。
但若n,m中有一个为0,那么不管怎么减n或m的值都不会改变,循环不会结束,就会进入死循环。
若输入的两个整数相等那就不会进入这几个循环,直接输出m的值。
这个是我理解的,可能有不对的地方,希望能帮到你。(*^__^*) 嘻嘻……

2024-08-28 广告
在当今竞争激烈的商业环境中,企业需要不断提高自身的竞争力,以保持市场份额和增加利润。通过人效提升,企业可以更有效地利用有限的资源,提高生产力和效益,从而实现盈利目标。中智咨询提供全方位的组织人效评价与诊断、人效提升方案等数据和管理咨询服务。...
点击进入详情页
本回答由中智咨询提供
展开全部
这个程序是从键盘输入两个整数m,n
while第一个判断是m不等于n就继续执行大括号里的语句
第二个while 是判断如果m>n 就执行m-=n (相当于m=m-n)
第三个while 是判断如果n>m 就执行 n-=m ( 相当于 n=n-m)
A:所以当输入m>n时就执行第二个while,但是输出值得看你输入的m和n如果你输入m=4,n=2那么最后输出的是2
B: 和A差不多只是他是执行第三个while语句
C:要先看m>n 首先就执行第二个while语句 还有一个m%n=0意思是要么m<n 要么 m=x*n 但是已经给了m>n 所以就只有m是n的2倍
D:输入m或者n为0时 如m=0 n>0 就会一直执行第三个while语句陷入死循环 n为0也一样
while第一个判断是m不等于n就继续执行大括号里的语句
第二个while 是判断如果m>n 就执行m-=n (相当于m=m-n)
第三个while 是判断如果n>m 就执行 n-=m ( 相当于 n=n-m)
A:所以当输入m>n时就执行第二个while,但是输出值得看你输入的m和n如果你输入m=4,n=2那么最后输出的是2
B: 和A差不多只是他是执行第三个while语句
C:要先看m>n 首先就执行第二个while语句 还有一个m%n=0意思是要么m<n 要么 m=x*n 但是已经给了m>n 所以就只有m是n的2倍
D:输入m或者n为0时 如m=0 n>0 就会一直执行第三个while语句陷入死循环 n为0也一样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询