c语言,分别打印出每一位数字,并求出它是几位数。
时间: 2023-04-08 12:01:27 浏览: 260
可以回答这个问题。对于一个整数num,可以使用以下代码来分别打印出每一位数字,并求出它是几位数:
```c
#include <stdio.h>
int main() {
int num = 12345;
int count = 0;
int temp = num;
while (temp != 0) {
int digit = temp % 10;
printf("%d ", digit);
temp /= 10;
count++;
}
printf("\n%d是%d位数\n", num, count);
return 0;
}
```
输出结果为:
```
5 4 3 2 1
12345是5位数
```
相关问题
C语言 输入一个不多于4位的正整数。求出他是几位数。分别打印每一位数字。按照逆序打印出各位数字
以下是C语言实现输入一个不多于4位的正整数,求出它是几位数,分别打印出每一位数字,按逆序打印出各位数字的代码:
```c
#include <stdio.h>
int main() {
int num, digit, count = 0;
printf("请输入一个不多于4位的正整数:");
scanf("%d", &num);
int temp = num;
// 求出它是几位数
while (temp != 0) {
count++;
temp /= 10;
}
printf("它是%d位数\n", count);
// 分别打印出每一位数字
printf("每一位数字分别是:");
for (int i = count; i > 0; i--) {
digit = num / (int)pow(10, i - 1) % 10;
printf("%d ", digit);
}
printf("\n");
// 按逆序打印出各位数字
printf("按逆序打印出各位数字:");
while (num != 0) {
printf("%d", num % 10);
num /= 10;
}
printf("\n");
return 0;
}
```
C语言:给一个不多于5位的正整数求它是几位数并逆序打印出各位数字。
```c
#include <stdio.h>
int main() {
int num, count = 0;
int digits[5] = {0}; // 用数组存储每一位数字
printf("请输入一个不多于5位的正整数:");
scanf("%d", &num);
// 分解每一位数字并存储
while (num > 0) {
digits[count++] = num % 10;
num /= 10;
}
printf("该数是%d位数,逆序打印出各位数字为:", count);
for (int i = 0; i < count; i++) {
printf("%d", digits[i]);
}
printf("\n");
return 0;
}
```
运行结果:
```
请输入一个不多于5位的正整数:12345
该数是5位数,逆序打印出各位数字为:54321
```