程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700、输出应该是7, 输入格式: 每个测试是一个3位的正整数。 输出格式: 输出按位逆序的数。
时间: 2024-11-12 21:44:31 浏览: 15
要实现这个功能,你可以使用一个简单的循环结构来遍历输入的三位数,从个位开始依次取出每一位,然后按照逆序的方式拼接成新的字符串。如果输入的数字末尾有0,那么在反转过程中,不需要特别处理,因为0本身不会影响结果。
以下是一个C语言的示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
int input;
char reversed[4]; // 用于存储反转后的3位数,包括一位终止符'\0'
while (scanf("%d", &input) == 1) { // 读取输入的3位数
if (input >= 100 && input <= 999) { // 检查是否为3位数
sprintf(reversed, "%d", input); // 将输入转换为字符串
reversed[2] = '\0'; // 去掉多余的终止符
// 反转字符串并输出
for (int i = strlen(reversed) - 1; i >= 0; i--) {
printf("%c", reversed[i]);
}
printf("\n"); // 换行
} else {
printf("Invalid input! Please enter a 3-digit positive number.\n");
}
}
return 0;
}
```
在这个代码里,我们首先使用`scanf`函数读取用户的输入,然后检查输入是否为有效的3位数。接着,我们将输入转换为字符串,去掉多余的终止符,然后用一个倒序的for循环打印出每一个字符,从而得到按位逆序的数字。
如果用户输入了非3位数的数字,我们会提示他们输入一个合法的3位正数。
阅读全文