输入M、N,显示数字排列,如输入4、6: 1 3 6 10 14 18 2 5 9 13 17 21 4 8 12 16 20 23
7 11 15 19 22 24
#include <stdio.h>
void printArr(int a[][20], int n, int m)
{
int i, j;
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
printf("%3d\t", a[i][j]);
}
printf("\n");
}
}
int main(void)
{
static int a[20][20], i, ii, j, n, m, k = 0;
scanf("%d%d", &n, &m);
for (i = 0; i < n; i++)
{
for (ii = i, j = 0; ii >= 0; ii--, j++)
{
a[ii][j] = ++k;
}
}
for (i = 1; i < m; i++)
{
for (ii = i, j = n - 1;j >= 0 && ii < m; j--, ii++)
{
a[j][ii] = ++k;
}
}
printArr(a, n, m);
return 0;
}