C语言用户输入任意整数(小于10位),输出该数的逆序数。例如输入123456789,输出987654321。
时间: 2024-12-14 19:28:19 浏览: 15
在C语言中,为了实现用户输入整数的逆序并输出,我们可以使用`scanf`读取用户输入,然后逐位进行存储和反转。下面是一个简单的示例:
```c
#include <stdio.h>
#include <string.h> // 使用strlen函数获取字符串长度
int reverseInteger(int num) {
char reversedStr[10]; // 存储逆序后的字符串
int index = strlen(reversedStr); // 初始化反转字符串的索引
// 反转整数每一位存入reversedStr
while (num != 0) {
reversedStr[index] = num % 10 + '0'; // 通过'0'转换为字符
num /= 10; // 移除最低位
index--;
}
// 将字符串连接成整数并返回
reversedStr[index + 1] = '\0'; // 添加字符串结束符
int reversedNum = atoi(reversedStr); // 转换回整数
return reversedNum;
}
int main() {
int inputNumber;
printf("请输入一个小于10位的整数: ");
scanf("%d", &inputNumber);
int reversed = reverseInteger(inputNumber);
printf("逆序后的数是: %d\n", reversed);
return 0;
}
```
在这个代码里,我们首先定义了一个字符串`reversedStr`来存储逆转的数字,然后在`reverseInteger`函数中,对输入的数字不断取模10并将结果添加到字符串最后。当数字减半为0时,表示所有位都已处理完毕,此时我们将其转换回整数并返回。
阅读全文