输出二维矩阵的代码(找不到问题的原帖),帮忙顶一下!
#include"stdio.h"void main() {
int n;
int count;
int min_x, min_y;
int max_x, max_y;
int x, y;
int data[100][100];
scanf("%d",&n);
min_x=1;
min_y=1;
max_x=n;
max_y=n;
count=0;
while(min_x<max_x) {
x=min_x;
y=min_y;
for(;y<max_y;y++)
data[x][y]=++count;
for(;x<max_x;x++)
data[x][y]=++count;
for(;y>min_y;y--)
data[x][y]=++count;
for(;x>min_x;x--)
data[x][y]=++count;
min_x++;
min_y++;
max_x--;
max_y--;
}
if(min_x==max_x) data[min_x][min_y]=++count;
for(x=1;x<=n;x++) {
for(y=1;y<n;y++)
printf("%-4d",data[x][y]);
printf("%d\n",data[x][y]);
}
}
输出
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
算法从外面一圈一圈的赋值。