小羊爱吃小草 发表于 2023-11-9 13:20:01

C语言编程

给一个不多于5位的正整数,编写程序完成以下功能:(1) 求出它是几位数;(2)分别输出每一位数字;(3)按逆序输出各位数字,例如原数为321,应输出 123。

isdkz 发表于 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 = {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,表示运行成功结束。

希望这个程序能够满足你的需求!如果你有任何问题,请随时向我提问。
页: [1]
查看完整版本: C语言编程