#include <stdio.h>
#include <Windows.h>
#include < stdlib.h>
int comb(int z,int x)
{
return (z * 10) + x;
}
void pailie(int z, int x, int c)
{
int num = 0;
num++;
if (x*c == z)
{
printf(z + "=" + x + '*' +c);
}
}
int main()
{
int i,a,b,c,d;
for (i = 999; i < 9999; i++)
{
if (i % 100 == 0)
{
continue;
}
d = i % 10;/*个位数值*/
c = i / 10 % 10;/*十位上的数值*/
b = i / 100 % 10;/*百位上的数值*/
a = i / 1000;/*千位上的数值*/
if (b + c + d == b || b + c + d == c || b + c + d == d)
{
continue;
}
pailie(i, comb(a, b), comb(c, d));
pailie(i, comb(a, b), comb(d, c));
pailie(i, comb(a, c), comb(b, d));
pailie(i, comb(a, c), comb(d, b));
pailie(i, comb(a, d), comb(b, c));
pailie(i, comb(a, d), comb(c, b));
pailie(i, comb(b, a), comb(c, d));
pailie(i, comb(b, a), comb(d, c));
pailie(i, comb(b, c), comb(d, a));
pailie(i, comb(b, d), comb(c, a));
pailie(i, comb(c, a), comb(d, b));
pailie(i, comb(c, b), comb(d, a));
}
system("pause");
return 0;
}
void pailie(int z, int x, int c)函数中的printf写的有问题,具体如下:
void pailie(int z, int x, int c)
{
int num = 0;
num++;
if (x*c == z)
{
//printf(z + "=" + x + '*' +c);
printf("%d = %d * %d\n",z,x,c);
}
}
运行是这个结果