代码有点长,我只想知道加代码后变化的原因
#include"stdio.h"
static int k = 0;
int h[120][5] = { 0 };
int t, g, n, m, i=5, j=1, c;
void output(int b[5])
{
int p;
for (p = 0; p <= 4; p++)
{
printf("%d ", b[p]);
h[4 * (j - 1) + 6 - i][p] = b[p];
}
k++;
printf("\n");
}
int main(void)
{
int a[5] = { 1, 2, 3, 4, 5 };
for (j = 1; j <= 30; j++)
{
for (i = 5; i >= 2; i--)
{
switch (i)
{
case 5: t = a[4], a[4] = a[0], a[0] = t, g = a[3], a[3] = a[1], a[1] = g; output(a);; break;
case 4: t = a[0], a[0] = a[3], a[3] = t, g = a[2], a[2] = a[1], a[1] = g; output(a); break;
case 3: t = a[2], a[2] = a[0], a[0] = t; output(a); break;
case 2: t = a[0], a[0] = a[1], a[1] = t; output(a); break;
default: printf("wrong!!!!!!!\n");
break;
}
}
}
printf("%d\n", k);
for (n = 0; n <= 118; n++)
{
for (m = n + 1; m <= 119; m++)
{
if (h[n][0] == h[m][0] && h[n][1] == h[m][1] && h[n][2] == h[m][2] && h[n][3] == h[m][3] && h[n][4] == h[m][4])
{
printf("n=%d,m=%d\n", n, m);
printf("%d,%d,%d,%d,%d\n", h[n][0], h[n][1], h[n][2], h[n][3], h[n][4]);
}
}
}
}
#include"stdio.h"
static int k = 0;
int h[120][5] = { 0 };
int t, g, n, m, i=5, j=1, c;
void output(int b[5])
{
int p;
for (p = 0; p <= 4; p++)
{
printf("%d ", b[p]);
h[4 * (j - 1) + 6 - i][p] = b[p];
}
k++;
printf("\n");
}
int main(void)
{
int a[5] = { 1, 2, 3, 4, 5 };
for (j = 1; j <= 30; j++)
{
for (i = 5; i >= 2; i--)
{
switch (i)
{
case 5: t = a[4], a[4] = a[0], a[0] = t, g = a[3], a[3] = a[1], a[1] = g; output(a);; break;
case 4: t = a[0], a[0] = a[3], a[3] = t, g = a[2], a[2] = a[1], a[1] = g; output(a); break;
case 3: t = a[2], a[2] = a[0], a[0] = t; output(a); break;
case 2: t = a[0], a[0] = a[1], a[1] = t; output(a); break;
default: printf("wrong!!!!!!!\n");
break;
}
}
}
printf("%d\n", k);
}