从键盘任意输入一个3位整数,编程计算并输出它的逆序数(忽略整数前的正负号)。例如,输入-123,则忽略负号,输出321

#include<stdio.h>

#include<math.h>

main()

{

int x,a,b,c,y;

printf("Input x:");   

scanf("%d",&x);            

a=fabs(x/100);

if(x>0) b=fabs((x-a*100)/10);

        if(x<0) b=fabs(x+a*100)/10;

c=fabs(x%10);                   

y=fabs(c*100+b*10+a);                 

printf("y = %d\n",y);        

    return 0;

}

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用以下程序来计算一个3整数逆序数: num = int(input("请输入一个3整数:")) num = abs(num) # 忽略正负号 reverse_num = 0 while num > 0: reverse_num = reverse_num * 10 + num % 10 num = num // 10 print("逆序数为:", reverse_num) 程序首先从键盘输入一个3整数,并使用abs函数忽略正负号。然后使用while循环,每次取出num的个数,加入到reverse_num的末尾,并将num除以10向下取整,去掉个数。最后输出reverse_num即可。 ### 回答2: 首先,我们需要向用户请求输入一个3整数。可以使用input函数来实现这个功能,代码如下: ```python num = int(input("请输入一个3整数:")) ``` 接下来,我们需要将这个整数分解成百、十、个三个数字。可以通过整数除以10的余数和整数除以10的商来实现这个功能,代码如下: ```python a = num // 100 # 获取百数字 b = (num % 100) // 10 # 获取十数字 c = num % 10 # 获取个数字 ``` 然后,我们可以将这三个数字按照个、十、百的顺序组合起来,得到原整数逆序数,代码如下: ```python reverse_num = c * 100 + b * 10 + a ``` 最后,我们需要忽略整数正负号,即只计算绝对值的逆序数。可以使用abs函数来获取整数的绝对值,代码如下: ```python abs_num = abs(num) ``` 将以上代码整合起来,就可以得到计算逆序数的完整程序: ```python num = int(input("请输入一个3整数:")) a = num // 100 # 获取百数字 b = (num % 100) // 10 # 获取十数字 c = num % 10 # 获取个数字 reverse_num = c * 100 + b * 10 + a # 计算逆序数 abs_num = abs(num) # 获取绝对值 print("原整数逆序数为:", reverse_num) ``` 需要注意的是,以上程序假设用户输入的一定是3整数,如果输入的不是3整数,程序会报错。可以在程序中加入相关的错误处理代码来避免这种情况的发生。 ### 回答3: 在编程中,解决这个问题的其中一种方法是将输入的3整数转换为字符串,将字符串颠倒过来,然后再将其转换回整数。这个整数就是原数的逆序数。 例如,如果输入整数321,需要先将它转换为字符串"321"。然后通过字符串颠倒的函数对字符串进行操作,得到"123"。最后,将字符串转换为整数,即可得到其逆序数。代码如下所示: ``` num = input("请输入一个3整数:") # 输入3整数 num_str = str(abs(int(num))) # 将其转换为字符串并忽略符号 reverse_num_str = num_str[::-1] # 颠倒字符串 reverse_num = int(reverse_num_str) # 将逆序字符串转换为整数 print("逆序数为:", reverse_num) # 输出逆序数 ``` 在程序中,我们使用了abs()函数来忽略整数的符号,这样可以确保计算得到的逆序数是正确的。如果没有这行代码,则输入的负数也可以输出它的逆序数,但这不符合题意。因此,我们需要将符号去掉。 以上就是一个简单的Python程序,用于计算结果。无论输入的3整数是多少,程序都可以正确计算输出逆序数

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值