、 给一个不多于 5位的正整数,要求: 一、求它是几位数, 逆序打印出各位数字,要求使用指针完成逆序打印的功能。用C语言完成
时间: 2023-12-01 14:08:32 浏览: 34
好的,那我用 C 语言给你实现一下:
```c
#include <stdio.h>
int main() {
int num, len = 0;
int *p;
printf("请输入一个不多于5位的正整数:");
scanf("%d", &num);
p = #
while (*p != 0) {
printf("%d", *p % 10);
*p /= 10;
len++;
}
printf("\n该正整数是%d位数。\n", len);
return 0;
}
```
这个程序和之前的 C++ 程序基本一致,只是将输入和输出语句改成了 C 语言的标准输入输出方式。希望对你有所帮助!
相关问题
用Python编写给一个不多于5位的正整数 要求:一、求它是几位数,二、逆序打印出各位数字。
好的,这个问题很简单,我可以帮你解决。以下是Python代码:
```python
num = int(input("请输入一个不多于5位的正整数:"))
digits = 0
temp = num
# 计算数字位数
while temp > 0:
digits += 1
temp //= 10
print("它是 %d 位数" % digits)
# 逆序打印各位数字
print("逆序打印出各位数字:", end="")
while num > 0:
print(num % 10, end="")
num //= 10
```
运行程序后,你可以输入一个不多于5位的正整数,程序会输出它的位数和逆序打印出各位数字。注意,这个程序没有对输入做任何的验证,如果输入不符合要求,程序可能会崩溃。
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
```