问题要求
从键盘任意输入一个3位整数,编程计算并输出它的逆序数(忽略整数前的正负号)。
例如,输入-123,则忽略负号,由123分离出其百位1、十位2、个位3,然后计算3*100+2*10+1 = 321,并输出321。
提示
1.从键盘输入数据可以使用函数scanf()。例如,scanf(%d",&x);表示从键盘输入整数并存入整形变量x中。
2.利用取绝对值函数fabs()忽略输入数据的负号。fabs(x)表示计算变量x的绝对值。
3.使用数学函数,需要在程序开头加上编译预处理指令#include <math.h>
分析与代码解决
由于这里不用考虑输入的数值是否为负数,因为有数学函数帮忙。
需要解决的是如何获取scanf输入的三位数的各个位上的数字,再反过来乘以相应的10的倍数
即可。
1. 获取输入三位数的各位数就利用到了运算符 “%” 和 “/”
2. 用到了fabs函数取获取绝对值
代码解决
#include <stdio.h>
#include <math.h>
int main()
{
int num, num01;
scanf("%d",&num);
num = abs(num);
while(num){
num01 = num % 10;
printf("%d",num01);
num/=10;
}
return 0;
}
代码运行示例