程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。 输入格式: 每个测试是一个3位的正整数。 输出格式: 输出 不能用iostream
时间: 2024-11-07 11:13:00 浏览: 43
要编写一个C语言程序来实现这个功能,你可以使用循环结构(如for或while)以及一个临时变量来存储每一位的值,然后从右到左逐个输出。这里是一个简单的示例:
```c
#include <stdio.h>
int main() {
int num, reversed = 0;
// 输入3位正整数
printf("请输入一个三位正整数: ");
scanf("%d", &num);
// 检查是否为3位数,如果不是则提示错误并退出
if (num < 100 || num > 999) {
printf("输入错误,请输入一个3位正整数.\n");
return 1;
}
// 将数字按位逆序
while (num != 0) {
reversed = reversed * 10 + num % 10; // 取余数存入reversed
num /= 10; // 移除最低位
}
// 输出逆序后的数字,去除前导零
if (reversed < 10) {
printf("%d\n", reversed);
} else {
printf("%i\n", reversed);
}
return 0;
}
```
在这个程序中,我们首先获取用户的输入,检查是否是3位数。然后,我们将数字按位逆序存储在`reversed`变量中,同时移除原数字的最低位。最后,根据`reversed`的值判断是否需要在输出前添加前导零。
阅读全文