回 帖 发 新 帖 刷新版面

主题:想不通。记得以前觉得很简单的题目!82

下列程序执行时,若从键盘输入23,则输出为多少?
int num,c;
scanf("%d",&num);
do
{c=num%10;
  printf("%d",c);
  }while((num/=10)>o);
  printf("\n");

怎么理解哦。昏死。哎。明明简单的。

还有这道题目:

求输出结果的。
#include<stdio.h>
main()
{int m,n,i;
m=7,n=5,i=1;
  do
{if(i%m==0)]
  if(i%n==0)
  {printf("%d\n",i);
    break;}
    i++;}while(i!=0;)
   }
结果为35,怎么来的哦。?还麻烦指教指教。谢谢!!

回复列表 (共3个回复)

沙发

那不是o吧,是i 啊!晕。要是o的话,程序是运行不了的,要是i才可以运行的啊

板凳

先说 第二题!在其他的帖子里 楼主 应该有一道相同的题,我已经恢复完了!

再说说第一题:
在while((num/=10)>o); 应该是 有个错误 改正后while((num/=10)>0);
第一题 我想要注意的是,第一点num是int型的数据,第二点是do循环中的printf中没有‘\n’

scanf输入23以后,现在num=23了,进入do循环 做c=23%10,现在的c=3了, 然后打印c,其实就是输出了3,然后做while((num/=10)>0);现在while内的num/=10(其实就是做num=23/10),做完后由于是int型的数据所以num现在就等于2 了 ,由于2>0所以继续循环
做c=2%10,现在的c=2了, 然后打印c,其实就是输出了2,然后做while((num/=10)>0);现在while内的num/=10(其实就是做num=2/10),做完后由于是int型的数据所以num现在就等于0了,由于0>0 为假 所以 退出循环 打印最后的回车。

其实 本题的答案是3和2,由于中间没有回车或其他的分隔符!所以给人的感觉是32

3 楼

第一个楼上的已经给了回复 我就不多说了 第二道题目是求7与5的最小公倍数,你好好看一下它的意思就知道了

我来回复

您尚未登录,请登录后再回复。点此登录或注册