输入一个不多于5位的正整数,要求: (1)求出它是几位数; (2)分别输出每一位数字; (3)按逆序输出各位数字。
时间: 2023-04-21 13:02:02 浏览: 147
输入一个不多于5位的正整数,可以按照以下步骤进行处理:
1. 求出它是几位数:可以使用循环和除法运算来实现,每次将输入的数除以10,直到商为0,统计循环次数即可得到位数。
2. 分别输出每一位数字:可以使用循环和取模运算来实现,每次将输入的数对10取模,得到最低位数字,然后将输入的数除以10,继续取模,直到商为0,即可得到每一位数字。
3. 按逆序输出各位数字:可以先将每一位数字存储到一个数组中,然后按照逆序输出数组中的元素即可。
下面是一个示例代码:
```
#include <stdio.h>
int main()
{
int num, digits = 0, i;
int arr[5];
printf("请输入一个不多于5位的正整数:");
scanf("%d", &num);
// 求出位数
while (num > 0) {
digits++;
num /= 10;
}
printf("它是%d位数\n", digits);
// 分别输出每一位数字
num = 12345; // 重新赋值
for (i = 0; i < digits; i++) {
arr[i] = num % 10;
num /= 10;
}
printf("每一位数字分别为:");
for (i = 0; i < digits; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 按逆序输出各位数字
printf("按逆序输出各位数字:");
for (i = digits - 1; i >= 0; i--) {
printf("%d", arr[i]);
}
printf("\n");
return 0;
}
```
阅读全文