形如abcde/fghij = n 的表达式,C语言求解

•题目:输入正整数n,按从小到大的顺序输出所有形如abcde/fghij=n的表达式,其中a~j恰好为数字0~9的一个排列,2<=n<=79

输入:62

输出:79546/01283=62

   94736/01528=62

 1 #include <stdio.h>
 2 
 3 int main()
 4 {
 5     int n,x,y,temp;//a[10]={0};
 6     int i,j,flag;
 7     scanf("%d",&n);
 8     for(x=12345;x<=98765;x++)
 9     {
10         int a[10]={0};
11         flag = 1;
12         temp = x;
13         
14     //    if(x%n != 0)                    //不用这句数组a要重新全部初始化! 
15     //        continue;
16     
17         if(x%n== 0)                        //记录y的各个位 
18         {
19         
20             y = x/n;
21             for(i=4;i>=0;i--)
22             {
23                 a[i] = y%10;
24                 y = y/10;
25             }
26         }
27         
28         for(i=9;i>=5;i--)                //记录x的各个位 
29         {
30             a[i] = temp%10;
31             temp = temp/10;
32             
33         }
34         
35         for(i=0;i<9;i++)                //判断有没有重复的 
36         {
37             for(j=i+1;j<=9;j++)
38             {
39                 if(a[i] == a[j])
40                 {
41                     flag = 0;
42                     break;
43                 }
44             }
45             if(flag ==0)
46                 break;
47         }
48         
49         if(flag==1)                        //打印 
50         {
51             for(i=5;i<=9;i++)
52                 printf("%d",a[i]);
53             printf("/");
54             for(i=0;i<5;i++)
55                 printf("%d",a[i]);
56             printf("=%d\n",n);
57         }    
58     }
59     return 0;
60 }