要求将制定矩阵蛇形填充,最后结果如下
10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4
如果不仔细考虑的话,代码可能是这样的
代码啰嗦,而且还是不正确的
指针回调时,边界在不断缩小的,所以固定判断-1和n是不正确的。
int m = 0;
int x = n - 1;
int y = 0;
while (m < n*n) {
while (y < n && a[x][y] == 0) a[x][y++] = ++m;
if (y == n) y--;
x--;
while (x >=

本文探讨如何正确实现矩阵的蛇形填充,指出初版代码的问题在于边界判断不准确。解决方案包括设置合适的起始点和提前判断移动方向,强调了这种问题能体现C语言的简洁性。
最低0.47元/天 解锁文章
470

被折叠的 条评论
为什么被折叠?



