用C语言解决从键盘输入一个正的两位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如:输入50,输出应该是5。 输入格式: 输入任意的一一个两位正整数。输出格式: 输出按位逆序的数。
时间: 2024-10-18 10:09:58 浏览: 33
在C语言中,你可以使用一个简单的for循环结构来实现这个功能。以下是一个示例程序:
```c
#include <stdio.h>
int main() {
int num, reversed_num = 0;
// 输入两位数
printf("请输入一个两位正整数: ");
scanf("%d", &num);
// 检查输入是否为两位数
if (num >= 0 && num <= 99) {
// 按位逆序处理
while (num != 0) {
int remainder = num % 10; // 取余得到最低位
reversed_num = reversed_num * 10 + remainder; // 将余数加到结果的高位
num /= 10; // 移除最低位
}
// 输出结果并去掉前导零
if (reversed_num > 9) {
printf("%d\n", reversed_num);
} else {
printf("5\n"); // 如果结果只有一位数且是5,直接输出5
}
} else {
printf("输入错误! 请输入一个两位正整数.\n");
}
return 0;
}
```
在这个程序中,我们首先获取用户的输入,然后通过while循环将每一位数字依次取出并添加到`reversed_num`中。最后检查反转后的数字是否需要输出前导零,如果结果是一位数且等于5,则直接输出5。
阅读全文