yueyufeng 发表于 2023-11-19 10:26:17

能正确输出

Mike_python小 发表于 2023-11-19 10:26:37

你好,你提供的C代码已经可以正确实现你的需求。它能够接受一个不多于5位的正整数,并按要求输出每一位数字以及逆序输出各位数字。如果你有其他方面的问题或者需求,欢迎继续提问。

isdkz 发表于 2023-11-19 10:31:28

#include <stdio.h>
int main() {
    int n, count = 0, i;
    int a = {0};
    scanf("%d", &n);
    while (n != 0) {
      a = n % 10;
      n = n / 10;
      count++;
    }
    printf("%d\n", count);
    for (i = 0; i < count; i++) {
      printf("%d ", a[ i]);
    }
    printf("\n");
    for (i = count - 1; i >= 0; i--) {
      printf("%d ", a[ i]);
    }
    printf("\n");
    return 0;
}


这段代码可以正确输出输入的正整数的位数、每一位数字以及逆序输出各位数字。在原始代码中,使用了一个额外的循环来计算输入数字的位数,然后使用另一个循环来逆序输出各位数字。但是在修改后的代码中,使用了一个循环来直接获取每一位数字并存储在数组中,然后可以直接按顺序或逆序输出这些数字。这种修改简化了代码逻辑,使其更易于理解和维护。
页: [1]
查看完整版本: 能正确输出