输入一个不多于5位的正整数,求它是几位数,并分别输出每一位数字(以空格分割》C语言
时间: 2024-03-25 11:38:56 浏览: 56
好的,这是一个简单的 C 语言程序,可以实现您的需求:
```c
#include <stdio.h>
int main() {
int num, temp, count = 0;
printf("请输入一个不多于5位的正整数:");
scanf("%d", &num);
temp = num;
while (temp > 0) {
count++;
temp /= 10;
}
printf("它是%d位数,每一位数字分别为:", count);
for (int i = count; i > 0; i--) {
int divisor = 1;
for (int j = 1; j < i; j++) {
divisor *= 10;
}
int digit = num / divisor;
num %= divisor;
printf("%d ", digit);
}
printf("\n");
return 0;
}
```
程序的执行流程是这样的:
1. 首先,程序要求用户输入一个不多于 5 位的正整数。
2. 然后,程序会通过循环计算出这个正整数的位数。
3. 接着,程序利用嵌套循环,从高位到低位依次输出这个正整数的每一位数字。
4. 最后,程序输出一个换行符,结束程序的执行。
请注意,输入的正整数必须是不多于 5 位的,否则程序会输出错误的结果。
阅读全文