用c语言写【问题描述】给出一个不多于5位的正整数,要求: 1.求出它是几位数。 2.分别打印出每一位数字。 3.按照逆序打印出每一位数字。 【输入形式】控制台输入该正整数。 【输出形式】控制台分行输出输出结果。 【样例输入】1234 【样例输出】 4 1234 4321
时间: 2023-05-10 08:55:13 浏览: 139
以下是用 C 语言编写的代码,可以实现题目要求:
#include <stdio.h>
int main() {
int num, digit, count = 0;
int arr[5];
printf("请输入一个不多于5位的正整数:");
scanf("%d", &num);
// 计算位数并将每一位数字存入数组中
while (num > 0) {
digit = num % 10;
arr[count] = digit;
count++;
num /= 10;
}
// 输出位数
printf("%d\n", count);
// 输出每一位数字
for (int i = count - 1; i >= 0; i--) {
printf("%d ", arr[i]);
}
printf("\n");
// 按逆序输出每一位数字
for (int i = 0; i < count; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
如果您有任何问题或需要进一步的解释,请随时问我。
相关问题
用c语言给一个不多于5位的正整数,要求: ①求出它是几位数. ②分别打出每一位数字. ③按逆序打出各位数字
在 C 语言中,可以使用位运算和循环结构来实现这个功能。这里是一个简单的示例程序:
```c
#include <stdio.h>
void printNumber(int num) {
int digit_count = 0;
while (num > 0) {
// 计算数字位数
++digit_count;
num = num / 10; // 取除十进制得到下一位
}
printf("该数共有 %d 位。\n", digit_count);
// 打印每位数字
while (digit_count > 0) {
int remainder = num % 10; // 取余数得到当前位
printf("%d", remainder);
num = num / 10; // 移除当前位
--digit_count;
}
printf("\n");
// 按逆序打印各位数字
printf("逆序后为:");
while (digit_count > 0) {
remainder = num % 10;
printf("%d", remainder);
--digit_count;
num = num / 10;
}
}
int main() {
int input;
printf("请输入一个不超过5位的正整数:");
scanf("%d", &input);
if (input >= 0 && input <= pow(10, 5)) { // 判断输入是否合法
printNumber(input);
} else {
printf("输入超出范围,请输入一个不超过5位的正整数。\n");
}
return 0;
}
```
在这个程序中,我们首先计算输入数字的位数,然后依次取出并打印每一位。最后,将每一位数字逆序打印出来。
用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
```
阅读全文