用C语言写一个函数,返回与所给十进制正整数数字顺序相反的整数。
时间: 2024-02-11 09:08:21 浏览: 87
好的,这个问题可以用 C 语言编写一个函数来实现。实现思路是将所给的十进制正整数按位分解,再按照相反的顺序组合成一个新的整数。下面是代码实现:
```c
#include <stdio.h>
int reverse(int n) {
int reversed = 0;
while (n > 0) {
reversed = reversed * 10 + n % 10;
n /= 10;
}
return reversed;
}
int main() {
int n = 123456789;
int reversed = reverse(n);
printf("%d\n", reversed);
return 0;
}
```
上面的代码中,`reverse` 函数接受一个整数 `n` 作为输入,将其按位分解并按照相反的顺序组合成一个新的整数 `reversed`,最后将其返回。在实现中,我们使用了一个 `while` 循环来不断地将 `n` 的末位取出,并将其加到 `reversed` 的末位。每次迭代后,我们将 `n` 除以 10 来去除已经取出的末位。当 `n` 变为0时,说明所有的位数都已经被取出,此时的 `reversed` 就是我们需要的结果。
在 `main` 函数中,我们定义了一个整数 `n` 并将其初始化为 123456789。我们调用 `reverse` 函数并将 `n` 作为参数传递给它,将得到一个新的整数 `reversed`。最后,我们将 `reversed` 输出到控制台中,以验证函数的正确性。
希望这个答案能够帮到你,如果还有其他问题,可以继续提出来哦。
阅读全文