从键盘任意输入一个3位整数,编程计算它的逆序数(忽略整数前的正负号)用c语言
时间: 2024-10-15 07:25:19 浏览: 43
c代码-输入一个不超过4位的整数,不考虑符号, 输出它是几位数, 分别输出其每位数字, 最后将该数逆序输出。
在 C 语言中,为了计算一个三位整数的逆序数,我们需要首先获取用户输入的三个字符,然后检查它是否是一个有效的整数,并确定其正负性。接着,我们将数字转换成数组并逆序数组元素,最后再将逆序后的数组组成一个新的整数并返回。下面是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
// 函数来计算逆序数
int reverseNumber(int num) {
int reversed = 0;
while (num != 0) {
reversed = reversed * 10 + num % 10; // 取余存反
num /= 10; // 向右移除一位
}
return reversed;
}
int main() {
char input[5];
printf("请输入一个三位数(包括正负号):");
fgets(input, sizeof(input), stdin); // 获取用户输入
// 移除末尾换行符
size_t len = strlen(input);
if (input[len - 1] == '\n') {
input[len - 1] = '\0';
}
int num = input[0] == '-' ? -atoi(&input[1]) : atoi(input); // 转换成整数,处理正负号
if (num < 100 && num >= -100) { // 检查是否是三位数
int inversed = reverseNumber(num);
printf("逆序数是:%d\n", inversed);
} else {
printf("输入无效,请输入一个三位数。\n");
}
return 0;
}
阅读全文