C语言·数字逆序输出和顺序输出

以该例题讲述用C语言进行数字逆序输出和顺序输出:

1.输入一个整数(可以为正数,负数或0),要求:

(1)求出它是几位数。

(2)逆序输出每个数字。

(3)顺序输出每个数字。

整体架构流程

 如上图所示:

         以给一个整数n=12345为例

(1)如果想逆序输出每个数字,那么需要先得到个位,再丢掉个位

则n对10取余,余5(得到个位),然后丢掉个位:进行n=n/10(丢掉个位),此时n=1234;

   n再对10取余,余4,此时n=123,再进行n=n/10;

   n再对10取余,余3,此时n=12,再进行n=n/10;

   n 再对10取余,余2,此时n=1;再进行n=n/10,则n=0;(以上可用循环)

(2)如果想顺序输出每个数字,那么需要先得到高位,再丢掉高位

则n先除10000,得1(得到高位),然后丢掉高位:进行n=n%10000,得2345(丢掉高位);

   n再除1000,得2,再进行n%1000,此时n=345;

   n再除100,得3,再进行n%100,此时n=45;

   n 再除10,得4,再进行n%10,此时n=5;

   n再除1,得5再进行n%1此时n=0;(以上可用循环)

疑惑点

(1)由上可知:n=0时,我们不需要0这个数字结果。所以我们可以用do.....while()循环。

  先执行,后判断(判断条件:n!=0)。

(2)在顺序输出时,我们发现上述12345为何先除10000?还有后面除1000,100,10等。

        因为12345是个五位数,除10000刚好商1,1是最高位。那么可看出规律:

        想得到高位,除的10000,1000,100.....的0的个数刚好比该数的位数少1。

        那么我们必须先得统计出该数是个几位数,才能进行下一步,这也是例题第一要求:求该数是个几位数。

代码示例

小结:
        重点学习“得到个位,丢掉个位”,“得到高位,丢掉高位”的方法。

  • 14
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值