输入1个正整数 x ,要求:判断它是几位数,然后顺序、逆序输出各位数字。例如: x =123,则该数为3位数,各位数字的顺序及逆序输出分别为1,2,3和3,2,1;例如: x =12345,则5位数,各位数字为1,2,3,4,5和5,4,3,2,1。该数最大为10位数。
时间: 2024-10-14 21:17:51 浏览: 32
要实现这个功能,你可以使用C语言中的循环和取模运算符来获取每一位数字,并分别存储到数组中。接着,你可以遍历数组来按顺序和逆序打印这些数字。以下是一个简单的示例代码:
```c
#include <stdio.h>
void printNumbers(int num) {
int digits[10] = {0}; // 存储每位数字
int index = 0;
while (num != 0) {
digits[index++] = num % 10; // 取余数得到一位数字并存储
num /= 10; // 移除最低位
}
printf("顺序输出: ");
for (int i = 0; i < index; i++) {
printf("%d", digits[i]);
if (i < index - 1) {
printf(", ");
}
}
printf("\n");
printf("逆序输出: ");
for (int i = index - 1; i >= 0; i--) {
printf("%d", digits[i]);
if (i > 0) {
printf(", ");
}
}
printf("\n");
}
int main() {
int x;
printf("请输入一个1到10位的正整数: ");
scanf("%d", &x);
if (x <= 0 || x >= pow(10, 10)) {
printf("输入错误! 数字必须在1到10位之间.\n");
} else {
printNumbers(x);
}
return 0;
}
```
在这个程序中,我们首先读取用户输入的`x`,然后检查它是否在有效范围内(1到10位)。如果输入合法,我们就调用`printNumbers`函数处理数字。
阅读全文