|
发表于 2023-11-9 13:21:13
|
显示全部楼层
以下是一个C语言程序,可以完成你的需求:
- #include <stdio.h>
- int main() {
- int num;
- printf("请输入一个不多于5位的正整数:");
- scanf("%d", &num);
- // 求出它是几位数
- int count = 0;
- int temp = num;
- while (temp != 0) {
- temp /= 10;
- count++;
- }
- printf("它是%d位数\n", count);
- // 分别输出每一位数字
- int digits[5] = {0}; // 假设最多5位数
- temp = num;
- for (int i = count - 1; i >= 0; i--) {
- digits[ i] = temp % 10;
- temp /= 10;
- }
- printf("每一位数字为:");
- for (int i = 0; i < count; i++) {
- printf("%d ", digits[ i]);
- }
- printf("\n");
- // 按逆序输出各位数字
- printf("逆序输出各位数字:");
- for (int i = count - 1; i >= 0; i--) {
- printf("%d", digits[ i]);
- }
- printf("\n");
- return 0;
- }
复制代码
这个程序首先会要求用户输入一个不多于5位的正整数。然后,它会使用循环计算出这个数是几位数,并将结果打印出来。接下来,它会使用循环将这个数的每一位数字提取出来,并将它们存储在一个数组中。然后,它会按照顺序打印出每一位数字,并按逆序打印出来。最后,程序会返回0,表示运行成功结束。
希望这个程序能够满足你的需求!如果你有任何问题,请随时向我提问。 |
|