好吃点哦 2024-10-02 21:23 采纳率: 100%
浏览 5
已结题

程序有问题,不知道错哪了

题目(Description):
输入一个不多于5位的整数,要求:
(1)求出它是几位数
(2)分别输出每一位数字
(3)按逆序输出各位数字,如:输入321,输出123
输入(Input):
一个不多于5位的整数
输出(Output):
第一行  位数
第二行  用空格分开的每个数字(注意最后一个数字后没有空格)
第三行  按逆序输出这个数

img

  • 写回答

1条回答 默认 最新

  • 趣享先生 优质创作者: 编程框架技术领域 2024-10-02 21:57
    关注

    帮你写了一个,你试试:(答题不易,还请题主采纳!)

    
    #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);
    
        // 分别输出每一位数字
        printf("每一位数字为:");
        for (int i = count; i > 0; i--) {
            int digit = (num / (int)pow(10, i-1)) % 10;
            printf("%d ", digit);
        }
        printf("\n");
    
        // 按逆序输出这个数
        printf("逆序输出为:");
        while (num != 0) {
            int digit = num % 10;
            printf("%d", digit);
            num /= 10;
        }
        printf("\n");
    
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月10日
  • 已采纳回答 10月2日
  • 创建了问题 10月2日