新一う 2023-10-23 20:29 采纳率: 66.7%
浏览 30
已结题

如何连续输入多组数字进行判断,当输入负数结束

img


目前通过图中代码来多组输入,但是好像不能做到当输入负数时结束,想知道这得怎么弄?

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-10-23 22:39
    关注

    【以下回答由 GPT 生成】

    可以使用 if 语句来判断是否输入了负数,并在输入负数时通过 break 语句跳出循环来实现结束输入的功能。

    修改后的代码如下:

    #include <stdio.h>
    
    int main() {
        int a, b, c, m;
        while (scanf("%d %d %d", &a, &b, &c) != EOF) {
            if (a < 0 || b < 0 || c < 0) {
                break;
            }
            m = a % b;
            while (m != 0) {
                a = b;
                b = m;
                m = a % b;
            }
            m = b % c;
            while (m != 0) {
                b = c;
                c = m;
                m = b % c;
            }
            printf("最大公约数是 %d\n", c);
        }
        return 0;
    }
    

    以上代码会在输入任意一个负数时结束输入。不过需要注意的是,scanf 函数在遇到无效输入(如输入非数字字符)时会返回 0,而不是 EOF。如果需要在遇到无效输入时也结束输入,可以将判断条件修改为 scanf("%d %d %d", &a, &b, &c) != 3

    请注意,Markdown 格式无法用来粘贴复杂的代码,这里只是提供修改的代码片段。如果您需要完整的代码文件,请将上述代码复制到一个 C 语言源代码文件中,并保存为 .c 扩展名,然后通过编译器来运行它。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 pcl运行在qt msvc2019环境运行效率低于visual studio 2019
  • ¥15 MAUI,Zxing扫码,华为手机没反应。可提高悬赏
  • ¥15 python运行报错 ModuleNotFoundError: No module named 'torch'
  • ¥100 华为手机私有App后台保活
  • ¥15 sqlserver中加密的密码字段查询问题
  • ¥20 有谁能看看我coe文件到底哪儿有问题吗?
  • ¥20 我的这个coe文件到底哪儿出问题了
  • ¥15 matlab使用自定义函数时一直报错输入参数过多
  • ¥15 设计一个温度闭环控制系统
  • ¥100 rtmpose姿态评估