关于数字反向使用whlie循环解决方法(c语言)

int wpp = 0;
        while (num != 0) {
            int last = num % 10; // 获取最后一位数字
            wqq = wqq * 10 + last; // 将数字反向构建
            num /= 10;
这段代码是一个常见的算法,用于将一个整数 `num` 反转其数字顺序。下面是逐步解释:

1. **初始化变量**:
   - `int wqq = 0;`:声明一个整型变量 `wqq` 并初始化为0。这个变量将用于存储反转后的数字。

2. **循环条件**:
   - `while (num != 0)`:这是一个循环,条件是 `num` 不等于0。只要 `num` 不为0,循环就会继续执行。

3. **获取最后一位数字**:
   - `int last = num % 10;`:使用模运算符 `%` 来获取 `num` 的最后一位数字。例如,如果 `num` 是1234,那么 `last` 将是4。

4. **构建反转数字**:
   - `wqq = wqq * 10 + last;`:将 `wqq` 变量乘以10(这相当于在数字的末尾添加一个0),然后加上 `last`。这样做是为了将 `last` 移动到 `wqq` 的末尾。例如,如果 `wqq` 目前是0,并且 `last` 是4,那么 `wqq` 将变为4。

5. **移除最后一位数字**:
   - `num /= 10;`:将 `num` 除以10,这样可以去掉 `num` 的最后一位数字。例如,如果 `num` 是1234,那么在执行这步之后,`num` 将变为123。

### 完整示例
假设 `num` 的初始值是 `1234`,这个算法的执行过程如下:

- 第一次迭代:
  - `last = 1234 % 10 = 4`
  - `wqq = 0 * 10 + 4 = 4`
  - `num = 1234 / 10 = 123`

- 第二次迭代:
  - `last = 123 % 10 = 3`
  - `wqq= 4 * 10 + 3 = 43`
  - `num = 123 / 10 = 12`

- 第三次迭代:
  - `last = 12 % 10 = 2`
  - `wqq = 43 * 10 + 2 = 432`
  - `num = 12 / 10 = 1`

- 第四次迭代:
  - `last = 1 % 10 = 1`
  - `wqq= 432 * 10 + 1 = 4321`
  - `num = 1 / 10 = 0`

循环结束,因为 `num` 变为0。最终,`wqq` 的值是4321,这是原始数字1234的反转。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值