程序每次读入一个正三位数,然后输出按位逆序的数字C语言
时间: 2023-11-07 14:05:41 浏览: 45
实现:
```c
#include <stdio.h>
int main() {
int num;
printf("请输入一个正三位数:");
scanf("%d", &num);
int digit1 = num / 100; // 取百位数字
int digit2 = (num % 100) / 10; // 取十位数字
int digit3 = num % 10; // 取个位数字
printf("按位逆序的数字为:%d%d%d\n", digit3, digit2, digit1);
return 0;
}
```
首先读入一个正三位数,然后通过除法和模运算获取这个数的百位、十位和个位数字。最后输出按位逆序的数字即可。
相关问题
用c语言每次程序读入一个正三位数,然后输出逆序的数字,但输入的数字含有结尾的0时,输出不应带有前导的0
```c
#include <stdio.h>
int main() {
int n;
while (scanf("%d", &n) == 1) {
int ans = 0;
while (n > 0) {
ans = ans * 10 + n % 10;
n /= 10;
}
printf("%d\n", ans);
}
return 0;
}
```
解释:
- `scanf("%d", &n)` 读入一个正整数,存入变量 `n` 中,返回值为成功读入的个数,如果读入失败则返回 0。
- `while (n > 0)` 循环反复地进行下列操作:
- `ans = ans * 10 + n % 10` 计算出反转后的数字。
- `n /= 10` 将 `n` 的最后一位去掉,即缩小 10 倍。
- `printf("%d\n", ans)` 输出反转后的数字,末尾换行。
注意事项:
- 由于输入的数字已经保证是正三位数,不需要再次判断。
- 为了避免输出前导的 0,我们可以在输入时就将数字反转,输出时就不需要再次反转了。
利用C语言写一个程序,程序每次读入一个正三位数,然后输出逆序的数字。注意,当输入的数字含有结尾的0时,输出不应带有前导的0。
```c
#include <stdio.h>
int main() {
int n;
while (scanf("%d", &n) == 1) { // 循环读入数字
int ans = 0;
while (n > 0) { // 取出每一位数字
ans = ans * 10 + n % 10; // 将数字反转
n /= 10;
}
printf("%d\n", ans);
}
return 0;
}
```