翁凯的课后题,遇到一点小问题

img

img


第一张是我写的代码,第二张是题目要求,基本能正常运行,但是当输入0的时候就无法输出数据了

那就的if逻辑就多写一个else if(x == 0) M = 0;
如果解决您的问题,请点赞采纳,谢谢。

【以下回答由 GPT 生成】

根据您提供的问题截图,我们可以看到您的代码存在一个问题。当输入为0时,循环中的判断条件是ch!=0 || ch!=-1,这个条件表达式永远为真,因为ch不可能同时等于0和-1。因此,循环会一直执行,而无法停止。

为了正确实现题目要求,您可以将条件表达式修改为ch!=0 && ch!=-1,这样只有当输入既不是0又不是-1时,循环才会继续执行。具体代码如下所示:

#include <stdio.h>

int main() {
    int ch;

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

        if(ch == 0) {
            break;  // 输入为0时跳出循环
        }

        // 在此处可以添加其他的处理逻辑,例如计算、判断等

        printf("您输入的数字是: %d\n", ch);
    }

    printf("程序结束\n");

    return 0;
}

上述代码中,使用了while(1)来创建一个无限循环,直到输入为0时使用break语句跳出循环。在循环中,先判断输入是否为0,如果是0则跳出循环,否则输出输入的数字。最后,在循环结束后输出"程序结束"。

希望以上解决方案对您有帮助。如果还有其他问题,请随时提问。



【相关推荐】



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