C语言给出一个不多于5位的正整数,要求如下: 1、求出它是几位数 2、分别输出每一位上的数字,数字之间用1个空格隔开 3、按逆序输出各位数字,例如原数为321,应输出123 输入 输入一个不大于5位的正整数 输出 第一行输出位数 第二行从左到右输出每一位上的数字,数字间用一个空格分开,注意最后一个数字后面没有空格 第三行按逆序输出这个数
时间: 2023-06-16 15:05:07 浏览: 106
下面是一个示例代码,可以实现题目要求的功能:
```c
#include <stdio.h>
int main()
{
int num, digit, count = 0;
int arr[5];
printf("请输入一个不大于5位的正整数:");
scanf("%d", &num);
// 计算位数和各个位上的数字
while (num > 0) {
digit = num % 10;
arr[count] = digit;
count++;
num /= 10;
}
// 输出位数和各个位上的数字
printf("位数为:%d\n", count);
printf("各位数字为:");
for (int i = count - 1; i >= 0; i--) {
printf("%d", arr[i]);
if (i != 0) {
printf(" ");
}
}
printf("\n");
// 按逆序输出数字
printf("按逆序输出为:");
for (int i = 0; i < count; i++) {
printf("%d", arr[i]);
}
printf("\n");
return 0;
}
```
示例输出:
```
请输入一个不大于5位的正整数:1234
位数为:4
各位数字为:1 2 3 4
按逆序输出为:4321
```
阅读全文