You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言如何实现将数字的最后一位移动到首位

实现思路

要完成把数字最后一位移到首位的操作,你只需要补全三步逻辑即可:

  • 计算原数字去掉最后一位后的剩余部分
  • 计算原数字的长度对应的10的幂次(位数减1次方)
  • 用「最后一位 * 幂次 + 剩余部分」得到最终结果
完整可运行代码
#include <stdio.h>

int main() {
    int number;
    scanf ("%d", &number);
    // 处理个位数的特殊情况,移动后和原数字一致
    if (number < 10) {
        printf("%d", number);
        return 0;
    }
    int lastDigit = number % 10;
    int remaining = number / 10;
    int power = 1;
    // 循环计算10的幂次
    int temp = remaining;
    while (temp > 0) {
        power *= 10;
        temp /= 10;
    }
    int result = lastDigit * power + remaining;
    printf("%d", result);
    return 0;
}
代码说明

以你给出的示例1234为例:

  1. 计算得到最后一位lastDigit = 1234 % 10 = 4
  2. 去掉最后一位的剩余部分remaining = 1234 / 10 = 123
  3. 循环计算得到power = 1000(remaining为123,循环3次,1连续乘3次10得到1000)
  4. 最终结果4 * 1000 + 123 = 4123,和预期效果一致

内容的提问来源于stack exchange,提问作者Tara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 05:06:08