输入 输入一个不大于5位的正整数 输出 第一行输出位数 第二行从左到右输出每一位上的数字,数字间用一个空格分开,注意最后一个数字后面没有空格 第三行按逆序输出这个数 用C语言编写
时间: 2023-06-15 16:06:32 浏览: 451
求给定正整数的位数和并逆序打印各位数
以下是用C语言编写的程序:
```c
#include <stdio.h>
int main() {
int n, count = 0, digits[5];
scanf("%d", &n);
while (n > 0) {
digits[count++] = n % 10;
n /= 10;
}
printf("%d\n", count);
for (int i = count - 1; i >= 0; i--) {
printf("%d", digits[i]);
if (i != 0) printf(" ");
}
printf("\n");
for (int i = 0; i < count; i++) {
printf("%d", digits[i]);
}
printf("\n");
return 0;
}
```
程序的思路如下:
1. 首先读入一个不大于5位的正整数,保存在变量 `n` 中。
2. 通过不断取 `n` 的个位数,将每一位数字存储在数组 `digits` 中,并使用变量 `count` 记录数字的位数。
3. 输出数字的位数和从左到右每一位上的数字,注意最后一个数字后面没有空格。
4. 按逆序输出数字,即从数组中最后一位开始往前遍历输出每一位数字。
阅读全文