例题: 某同学玩一个数字游戏,取个n行n列数字矩阵,数字的填补方法为:从1开始以顺时针方向绕行,逐圈扩大,直到n行n列填满数字,请输出该n行n列正方形矩阵
代码: # include< stdio.h> void main() { int n,i,j; i=(n-1)/2,j=(n-1)/2; m[i][j]=1; for(k=1;k<=(n+1)/2;k++) { { ++j; m[i][j]=s; } for(int b=1;b<=2*k-1;b++) { ++i; m[i][j]=s; s++; } for(int c=1;c<=2*k;c++) { –j; m[i][j]=s; s++; } for(int d=1;d<=2*k;d++) { –i; m[i][j]=s; s++; } } int r,l; for(r = 0;r < n;r++) { for(l = 0;l < n;l++) { PRintf(“%3d”,m[r][l]); } printf(“/n”); } }
新闻热点
疑难解答