为什么运行不出来结果

img


把三位数倒序这个运行到最后不知道为什么出不了结果,不能看到倒序后的结果

#include <stdio.h>

int main()
{
    int a, b, c, m;
    printf("请输入三位数:");
    scanf("%d", &m);
    a = m % 10;
    b = m / 10 % 10;
    c = m / 100;
    printf("倒序为:%d", a * 100 + b * 10 + c);   
       return 0;
}

【以下回答由 GPT 生成】

问题的原因在于您使用的是一个无限循环。当您输入一个三位数时,程序进入循环,并在每次迭代中不断将 num 除以 10,直到 num 变为 0。然而,在执行循环结束后,您需要重新输入一个新的数字,并在下一次循环中获取新的倒序结果。

为了修复这个问题,您可以在程序中添加一个循环,以便多次获取用户输入并计算倒序结果。以下是修复后的代码:

#include <stdio.h>

int main() {
    int num, rev;

    while (1) {
        printf("请输入一个三位数:");
        scanf("%d", &num);

        // 检查输入是否为三位数
        if (num >= 100 && num <= 999) {
            rev = 0;

            // 倒序排列
            while (num != 0) {
                rev = rev * 10 + num % 10;
                num /= 10;
            }

            printf("倒序后的结果是:%d\n", rev);
        } else {
            printf("输入错误,请重新输入一个三位数。\n");
        }
    }

    return 0;
}

修复后的代码中添加了一个无限循环 (while (1)),在每次循环中,程序会提示用户输入一个三位数,并通过 if 语句检查输入是否为合法的三位数。如果输入正确,则计算倒序结果并输出。否则,程序会输出错误提示信息并要求用户重新输入。

这样,您就可以多次输入不同的三位数,并获取相应的倒序结果。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^