796352 2022-03-19 21:02 采纳率: 100%
浏览 41
已结题

c语言魔术师猜三位数,求看看哪错了

#include <math.h>
#include <stdio.h>
int Magic(int x, int y, int z);
int main(void)
{
int a,b,c,sum,number;
printf("Input a sum:");
scanf("%d",&sum);
for(c=0;c<=9;c++)
{
for(b=0;b<=9;b++)
{
for(a=1;a<=9;a++)
if(sum==Magic(a,c,b)+Magic(b,a,c)+Magic(b,c,a)+Magic(c,a,b)+Magic(c,b,a))
printf("The number is %d\n",Magic(a,b,c));
else
break;
}
}
printf("The sum you calculated is wrong!\n");
return 0;
}

int Magic(int x, int y, int z)
{
return x100+y10+z;
}

img

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/244388496746192.jpg "#left

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-03-19 21:31
    关注
    #include <math.h>
    #include <stdio.h>
    int Magic(int x, int y, int z);
    int main(void)
    {
        int a,b,c,sum,number,flag = 0;
        printf("Input a sum:");
        scanf("%d",&sum);
        for(c=0;c<=9;c++)
        {
            if(flag == 1)
                break;
            for(b=0;b<=9;b++)
            {
                if(flag == 1)
                    break;
                for(a=1;a<=9;a++)
                    if(sum==Magic(a,c,b)+Magic(b,a,c)+Magic(b,c,a)+Magic(c,a,b)+Magic(c,b,a))
                    {
                        printf("The number is %d\n",Magic(a,b,c));
                        flag = 1;
                        break;
                    }
    
            }
        }
        if(flag == 0)
            printf("The sum you calculated is wrong!\n");
        return 0;
    }
    
    int Magic(int x, int y, int z)
    {
        return x*100+y*10+z;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 3月28日
  • 已采纳回答 3月20日
  • 创建了问题 3月19日