c语言,并画出流程图,给一个不多于5位的正整数,要求:①求出它是几位数;②分别输出每一位数字;③按逆序输出各位数字,例如原数为98423,应输出32489。
时间: 2023-11-28 14:44:19 浏览: 43
```c
#include <stdio.h>
int main() {
int num, count = 0, temp;
printf("请输入一个不多于5位的正整数:");
scanf("%d", &num);
temp = num;
// 计算位数
while (temp != 0) {
count++;
temp /= 10;
}
printf("该正整数是%d位数\n", count);
printf("每一位数字分别为:");
// 分别输出每一位数字
for (int i = count; i > 0; i--) {
int n = num;
for (int j = 1; j < i; j++) {
n /= 10;
}
printf("%d ", n % 10);
}
printf("\n逆序输出为:");
// 按逆序输出各位数字
while (num != 0) {
printf("%d", num % 10);
num /= 10;
}
return 0;
}
```
流程图如下:
![c语言流程图](https://i.imgur.com/7JZJzvL.png)
相关问题
用c语言写一个给一个不多于5位的正整数,要求: ①求出它是几位数;
②将这个数按位分离并打印出来。
代码如下:
```c
#include <stdio.h>
int main() {
int num, digit, count = 0;
printf("请输入一个不多于5位的正整数:");
scanf("%d", &num);
// 求出它是几位数
if (num == 0) {
count = 1;
} else {
while (num > 0) {
count++;
num /= 10;
}
}
printf("这个数是%d位数\n", count);
// 将这个数按位分离并打印出来
printf("分离出来的各个数字为:");
for (int i = count; i >= 1; i--) {
digit = (num / (int)pow(10, i-1)) % 10;
printf("%d ", digit);
}
printf("\n");
return 0;
}
```
运行示例:
```
请输入一个不多于5位的正整数:12345
这个数是5位数
分离出来的各个数字为:1 2 3 4 5
```
```
请输入一个不多于5位的正整数:0
这个数是1位数
分离出来的各个数字为:0
```
给出一个不多于5位的正整数求出它是几位数;c语言
在C语言中,我们可以使用以下代码来求出一个不多于5位的正整数是几位数:
```c
#include <stdio.h>
int main() {
int num;
printf("请输入一个不多于5位的正整数:");
scanf("%d", &num);
if (num < 10) {
printf("这个数是一位数");
} else if (num < 100) {
printf("这个数是两位数");
} else if (num < 1000) {
printf("这个数是三位数");
} else if (num < 10000) {
printf("这个数是四位数");
} else {
printf("这个数是五位数");
}
return 0;
}
```
这段代码首先让用户输入一个不多于5位的正整数,然后通过判断数的大小,来确定它是几位数。如果输入的数小于10,则它是一位数;如果数小于100,则是两位数;如果小于1000,则是三位数;小于10000则是四位数;否则为五位数。通过这个判断,我们可以得知输入的数是几位数。