超简单的C语言题目,高分悬赏

【请按照题目要求回答,谢谢】

编写一个C语言程序实现以下功能:1、输入1〜13范围内的4个整数(可以有重复);2、对它们进行加、减、乘、除四则运算后(可以任意的加括号限定计算的优先级);3、将运算结果等于24的所有运算式子找出来并输出。

#include<stdio.h>
#include<time.h>
#include<stdlib.h>

int chu(int p,int q)   //除法运算
{
    if(p%q==0)
        return p/q;
    else
        return 111111; 
}



int fun(int i,int j,int c)    //c(局部变量)选择运算符,i,j为运算数字
{
    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=chu(i,j);break;
    }
    return s;
}


void print(int c)     //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; //每步的结果
    srand(time(NULL));   //随机生成四个数字(四张扑克牌)
    for(int w=0;w<4;w++)  
    {
        f[w]=rand()%13+1;    //生成随机数范围在1~13
    }
    for(w=0;w<4;w++)
    {
        printf("%d ",f[w]);
    }
    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;
}

https://blog.csdn.net/qq_36575519/article/details/70147381