3.2 参考例3.1程序,从键盘任意输入-个3位整数,编程计算并输出它的逆序数(忽略整数前的正负 号)。用C语言
时间: 2024-10-27 16:11:17 浏览: 40
从键盘输入一个三位整数,逆序输出。如输入123,输出321。
在C语言中,你可以使用`scanf`函数获取用户输入的3位整数,并使用`strlen`函数来确定数字的长度,然后创建一个新的字符串来存储逆序后的数字。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
int main() {
char input[5]; // 用于存放输入的3位整数及正负号,这里假设不会有超过3位的负数
int num, reverse_num = 0;
printf("请输入一个3位整数(包括正负号):");
scanf("%s", input);
// 确保输入的是一个3位数,去掉正负号
if (input[0] == '-' || input[0] == '+') {
input++;
}
num = atoi(input); // 将字符串转换为整数
// 计算逆序数
for (int i = strlen(input) - 1; i >= 0; i--) {
reverse_num = reverse_num * 10 + input[i] - '0'; // 减去'0'是因为字符'0'对应的ASCII值是48
}
printf("逆序数为:%d\n", reverse_num);
return 0;
}
```
在这个程序中,我们首先读取用户的输入,然后检查是否包含正负号。接着,我们将剩余的部分转换为整数,并利用一个for循环将每一位数字加到逆序数上,最后输出结果。
注意,这个程序假设输入不会超过3位,如果需要处理更长的数字,你需要修改数组大小以及相应的逻辑处理。
阅读全文