AAA画饼大师 2022-08-27 21:39 采纳率: 79.4%
浏览 45
已结题

验证算式是否正确,不知道自己哪儿错了

img


这个为什么不对呢?算出来的结果不是对的吗?到底是哪儿错了呢?

  • 写回答

5条回答 默认 最新

  • 滴水不穿石 2022-08-27 22:32
    关注

    看题目意思就是每个数是不能够重复的哦!
    你写的代码没有去掉重复的数字所以不对哦!
    代码已经写好了,仅供参考!谢谢!

    img

    #include<stdio.h>
    
    int main()
    {
        int a, b, c, flag = 1;
        char s[10];
        while (scanf("%d%d%d", &a, &b, &c) == 3)
        {
        
            if (c < 123 || c > 987 || a < 123 || a > 987 || b < 123 || b > 987)
            {
                puts("NO!");
                continue;
            }
            
            sprintf(s, "%d%d%d", a, b, c);
            for (int i = 0; i < 8; i++)
            {
                for (int j = i + 1; j < 9; j++)
                {
                    if (s[i] == s[j] || s[i] == 0 || s[j] == 0)
                    {
                        flag = 0;
                        break;
                    }
                }
    
                if (flag == 0)
                {
                    break;
                }
    
            }
    
            if (a + b == c && flag == 1)
            {
                puts("YES!");
            }
            else
            {
                puts("NO!");
                flag = 1;
            }
    
        }
    
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 9月8日
  • 已采纳回答 8月31日
  • 创建了问题 8月27日