永发信息网

C语言中遇到的程序问题

答案:6  悬赏:20  手机版
解决时间 2021-01-31 22:53
该程序的输出结果是
m=37;n=13;
while(m!=n)
{
while(m>n)
m=m-n;
while(n>m)
n-=m;
}
printf("m=%d\n",m);

A m=13 B m=11 C m=1 D m=2
答案是C,请帮我解答一下,过程详细一点哦。。
最佳答案
1. m=37;n=13;m>n执行m=m-n;===》m=24,还是m>n,继续m=m-n;===》m=11

2. n=13,m=11,n>m,执行n-=m;===》n=2

3. m=11,n=2,m>n执行m=m-n;===》m=9,继续m=m-n,分别===》7,5,3,1

4.m=1,n=2,n>m,执行n-=m;===》n=1

所以,m==n了,while(m!=n)循环结束,输出printf("m=%d\n",m);,结果为m=1
全部回答
while(m!=n) 此条件满足,执行大括号语句, while(m>n)满足 执行 m=m-n; 此时m=37-13=24 接着 while(n>m) 不满足,故不执行n-=m; 接着又回到while(m!=n) 由于 m=24 满足条件 所以继续执行,大括号语句。 while(m>n)满足,执行: m=m-n; 此时m=24-13=11 接着while(n>m) 满足 执行其后语句。n-=m 此时n=2 接着回到while(m!=n) 执行 大括号内,m=m-n m=9 接着回到while(m!=n), 执行 大括号内,m=m-n m=7 以此往下直到m=1; while(n>m) n-=m;n=1; 输出m=1
printf 系列函数输出格式通配符:%d 表示将输出值以整数对待;%c 表示以(ascii)字符对待;%f 表示以32bit浮点数对待。举例如下: printf("%d", v); 此时不论变量 v 是何种类型,都输出对应的整数值,比如 v 是一个指针,则输出指针地址。 printf("%c", v); 此时不论变量 v 是何种类型,都输出成一个 ascii 字符,如果 v 是一个大于 8bit 的数据类型,也只取前 8bit。 printf("%f", v); 此时程序会将 v 看作 32bit 浮点型数据。
这个 主要是 不要选A 因为程序中改变了 m的数值 循环 第一次 m=37-2*13=11; n=13-11=2; 第二次 m=11-2*5=1 n=2-1=1 此时 m=n 跳出循环 m=1
第1轮:m=37-13=24,n=13 第2轮:m=24-13=11,n=13 第3轮:m=11,n=13-11=2 第4轮:m=11-2=9,n=2 第5轮:m=9-2=7,n=2 第6轮:m=7-2=5,n=2 第7轮:m=5-2=3,n=2 第8轮:m=3-2=1,n=2 第9轮:m=1,n=2-1=1 此时m==n,跳出循环
最后输出的时候m和n都相同。 因为奇偶的缘故,最后输出的时候,肯定是在一的时候 m n 第一次循环:24 13 13 11 11 2 9 2 7 2 5 2 3 2 2 1 1 1
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
神来水业(农药厂站)地址好找么,我有些事要过
遇到什么事情最好高抬贵手
求彼女x彼女x彼女~三姐妹共同生活 动漫全集谢
参加国家电网校园招聘考试 天津电网是不是不
求推荐好看的偶像剧(男主一定要高冷帅气感情
有什么能多人联机的大型游戏
捷达送水站地址好找么,我有些事要过去
桂林理工大学怎么样
新轿车为什么大多数四个轮子上都绑上红色的布
潭溪山水业桶装水地址在哪,我要去那里办事
潭水溪饮用水配送中心地址在哪,我要去那里办
新乡客运站春节期间去林州的班车明天发车吗?
迪奥粉底液4R01是什么意思,过保质期了么
福州农林大学到福州外语外贸学院长乐校区怎么
养老金计发月数怎么计算的
推荐资讯
我借别人十块钱赢了两千五百万,你们想说点什
请问一下、官司打赢了、对方还是不还款、请求
c1驾照能开汽车三轮车吗?
中国移动(鲁溪第一指定专营店)地址有知道的么
浏阳有哪些名胜古迹
鑫夫人婚纱摄影(306省道薄壁镇中心小学东250
60×19与10的差积是多少
中国邮政储蓄银行(大厂支行)(大厂镇街上)地址
风飑的意思是什么啊?知道的请说下!
安生的意思是什么啊?知道的请说下!
【怎么走路】四条腿的动物怎么走路的?
You can put on the new coat.改为否定祈使句
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?