2019年4月

第 109 页,第 9 题:

9.给出一个不多于5位的正整数:
① 求出它是几位数;
② 分别输出它是几位数;
③ 按逆序输出个位数字,例如原数为 321,应输出 123。

大致思路:

下列所述以:12345 为例;变量 i 的初值为 0

  1. 要求判断它是几位数,那么我们可以先求出各个数对应位置的值(个、十、百、千、万),具体取法看下方 C 语言代码
  2. 开始判断

    1. 从一个数(假设是:12345)的 万位 开始判断,如果不是 0,将万位的值赋给 a 变量,并 i=i+1
    2. 然后判断 千位,如果不是 0,将千位的值赋给 b 变量,并 i=i+1
    3. 然后判断 百位,如果不是 0,将百位的值赋给 c 变量,并 i=i+1
    4. 然后判断 十位,如果不是 0,将十位的值赋给 d 变量,并 i=i+1
    5. 然后判断 个位,如果不是 0,将个位的值赋给 e 变量,并 i=i+1
  3. 然后输出变量 i 的值,即可得到这个数是几位数
  4. 分别输出每一个数字,即先判断它几位数,然后输出 a、b、c、d、e 变量的值即可,具体可以看下方代码
  5. 逆序输出这个数字,先判断几位数,再输出 a、b、c、d、e 变量的值,具体可以看下方代码

C 语言代码如下:




- 阅读剩余部分 -

关于 向上/向下 取整 的概念,请前往:https://www.shuxuele.com/sets/function-floor-ceiling.html 查看

注意:向上/向下 取整,使用的是 math.h 里面的 ceil / floor 函数,故需要引入头文件 math.h


1. 向上取整,使用 ceil 函数

ceil() 向上取整,即求不小于某个数的最小整数,其原型为:
double ceil (double x);

【参数】x 为一个指定的数。
【返回值】返回一个不小于 x 的最小整数。



- 阅读剩余部分 -