整数逆序

#include <stdio.h>
int main()
{
    int num = 0;
 
    scanf("%d", &num);
    while (num != 0)
    {
        printf("%d", num % 10); 
        num=num / 10; 
    } 
    printf("\n");
    return 0;
}
### 实现整数逆序输出 对于实现整数逆序输出的任务,可以从字符串处理角度出发。当面对的是固定位数的整数时,比如三位正整数的情况,可以直接通过字符串切片的方式轻松反转数字[^2]。 ```python x = input() if '0' != x[2]: print(x[::-1]) elif x[2] == '0' and x[1] == '0': print(x[0]) else: print(x[1], x[0], sep='') ``` 上述代码适用于特定情况下的三位数逆序打印需求。然而,在更通用的情况下,即不限定输入整数的具体长度时,则应采取更加灵活的方法来确保任何大小的整数都能被正确地逆序显示: #### 方法一:转换成字符串再翻转 这种方法简单直观,先将整数转化为字符串形式,利用Python强大的字符串操作功能对其进行反转,最后根据需要决定是否重新转换回整型数据类型。 ```python def reverse_integer(n): reversed_str = str(abs(n))[::-1] result = int(reversed_str) # 处理负号 if n < 0: return -result else: return result number = int(input()) print(reverse_integer(number)) ``` 此方法能够很好地应对各种类型的整数,无论是正还是负都可以得到妥善处理。 #### 方法二:数学运算方式 除了借助于字符串的操作外,还可以采用纯算术的方式来达到同样的效果——不断取模并累积到新的变量中去构建最终的结果。 ```python def reverse_integer_mathematically(n): sign = [-1, 1][n >= 0] n *= sign reversed_number = 0 while n > 0: remainder = n % 10 reversed_number = reversed_number * 10 + remainder n //= 10 return sign * reversed_number number = int(input()) print(reverse_integer_mathematically(number)) ``` 这段代码同样支持任意范围内的整数,并且避免了显式的字符串转换过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值