c语言给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123
时间: 2023-06-01 17:01:57 浏览: 46
```c
#include<stdio.h>
int main()
{
int num, digits = 0, temp;
int a[5] = {0, 0, 0, 0, 0}; // 用数组存储每一位数字
printf("请输入一个不多于5位的整数:");
scanf("%d", &num);
// 判断位数
temp = num;
while (temp) {
digits++;
temp /= 10;
}
printf("它是%d位数\n", digits);
// 分别输出每一位数字
temp = num;
for (int i = digits - 1; i >= 0; i--) {
a[i] = temp % 10;
temp /= 10;
}
printf("每一位数字为:");
for (int i = 0; i < digits; i++) {
printf("%d ", a[i]);
}
printf("\n");
// 按逆序输出各位数字
printf("按逆序输出各位数字:");
for (int i = digits - 1; i >= 0; i--) {
printf("%d", a[i]);
}
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
```
给出一个不多于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则是四位数;否则为五位数。通过这个判断,我们可以得知输入的数是几位数。