24点游戏(C语言)

#include
int division(int p,int q)
{
    if(p%q==0)return p/q;
    else
        return 1;
}
int fun(int i,int j,int c)
{
    int s;
    switch(c)
    {
    case 1:s=i+j;break;
    case 2:s=i-j;break;
    case 3:s=i*j;break;
    case 4:s=division(i,j);break;
    }
    return s;
}
void print(int c)
{
    if(c==1)printf("+");
    else if(c==2)printf("-");
    else if(c==3)printf("*");
    else printf("/");
}
int main()
{
    int f[4]; //四个1-13的数
    int i,j,m,n;
    int a,b,c; //符号
    int d1,d2,d3; //每步的结果
	printf("请输入四个数字:");
    scanf("%d%d%d%d",&f[0],&f[1],&f[2],&f[3]);
	for(int z=0;z<4;z++){
        int num=z+1;
		if(f[z]<0 || f[z]>13){
		printf("第%d数字输入有误,请重新输入",num);
		scanf("%d",&f[z]);
		}
	}
	printf("从左到右依次计算:\n");
    for(i=0;i<4;i++)  
        for(j=0;j<4;j++)
            if(j!=i)
                for(m=0;m<4;m++)
                    if(m!=i&&m!=j)
                        for(n=0;n<4;n++)
                            if(n!=i&&n!=j&&n!=m)
    for(a=1;a<5;a++)
        for(b=1;b<5;b++)
            for(c=1;c<5;c++)
            {
                d1=fun(f[i],f[j],a);
                d2=fun(d1,f[m],b);
                d3=fun(d2,f[n],c);
                if(d3==24)
                {
                    printf("%d",f[i]);
                    print(a);
                    printf("%d",f[j]);
                    print(b);
                    printf("%d",f[m]);
                    print(c);
                    printf("%d=24\n",f[n]);
                }
            }
            return 0;                     
}

你可能感兴趣的:(24点游戏(C语言))