如何用C语言实现一个名为int reverse(int x)的函数,该函数接收一个正整数x作为输入,然后返回其各位数字反转后的整数值?
时间: 2024-12-19 07:22:38 浏览: 9
在C语言中,你可以通过遍历输入整数的每一位,然后依次添加到结果中来实现这个`reverse`函数。这里是一个简单的实现方法:
```c
#include <stdio.h>
#include <math.h>
int reverse(int x) {
if (x == 0) { // 如果输入的是0,直接返回0,因为0的反序还是0
return 0;
}
int sign = x > 0 ? 1 : -1; // 记录原数的符号
x = abs(x); // 取绝对值,便于处理负数
int result = 0; // 初始化结果
while (x != 0) {
int last_digit = x % 10; // 取出最后一位数字
result = (result * 10) + last_digit; // 将数字加到结果的高位
x /= 10; // 移除最低位并更新x
}
return sign * result; // 最后根据原数的符号返回结果
}
int main() {
int num = 12345;
int reversed_num = reverse(num);
printf("Reversed number of %d is %d\n", num, reversed_num);
return 0;
}
```
在这个`reverse`函数中,我们首先检查输入是否为0,然后取输入的绝对值处理负数情况。接着,我们用循环逐步取出每一位数字,并将其添加到结果的高位。最后,根据原来的符号返回结果。
阅读全文