逆序输出整数 - C 语言解决方案93


在编程中,有时我们可能需要将一个整数从大到小输出。例如,将 123456789 输出为 987654321。这可以通过使用 C 语言的几个技巧轻松实现,本文将介绍两种不同的方法。

方法 1:字符数组反转

一种方法是将整数转换为字符数组,然后逐个反转数组中的字符。以下是步骤:
将整数转换为字符串。
创建与字符串长度相同的字符数组。
将字符串中的字符逐个复制到数组中,从后往前。
将字符数组转换为整数并输出。

```c
#include
#include
int main() {
int number = 123456789;
// 将整数转换为字符串
char str[11];
sprintf(str, "%d", number);
// 创建字符数组并反转字符
char reversed[11];
int len = strlen(str);
for (int i = 0; i < len; i++) {
reversed[i] = str[len - i - 1];
}
// 将字符数组转换为整数并输出
int reversed_num = atoi(reversed);
printf("%d", reversed_num);
return 0;
}
```

方法 2:取余数和模运算

另一种更有效的方法是使用取余数和模运算。以下是步骤:
创建一个变量来存储逆序数字。
循环,知道原数字不为零。
在每次循环中,将原数字除以 10,并将其余数添加到逆序数字中,乘以 10。

```c
#include
int main() {
int number = 123456789;
int reversed_num = 0;
// 循环直到原数字为零
while (number != 0) {
// 取余数并添加到逆序数字
reversed_num *= 10;
reversed_num += number % 10;
// 除以 10
number /= 10;
}
// 输出逆序数字
printf("%d", reversed_num);
return 0;
}
```

2024-12-02


上一篇:C 语言内联函数:深入理解与最佳实践

下一篇:C 语言中的余切函数