我是靠谱客的博主 活泼鸡翅,这篇文章主要介绍c语言二维数组排序_C语言实现螺旋二维数组,现在分享给大家,希望可以做个参考。

d32461cccaece2db70ac1f50001112a3.png

没有使用什么算法,就是简单的逻辑实现。

思路:通过上下左右四个变量的值个适当控制来,顺序的螺旋操作数组元素的值。

代码如下

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
void func(int left,int right,int up,int down,int V) { int i ,j ,k ,l; if(left<=right) //注意递归的边界是left<=right 不要把if写成while造成死循环 { for(i = left;i<=right;i++) array[up][i] = V++; for(j = up+1;j<=down;j++) array[j][right] = V++; for(k = right-1;k>=left;k--) array[down][k] = V++; for(l = down-1;l>up;l--) array[l][left] = V++; func(left+1,right-1,up+1,down-1,V);//递归调用 } } int main() { int n,m,i,j; scanf_s("%d",&n); printf("n"); func(1,n,1,n,1); for(i = 1;i<=n;i++) { for(j = 1;j<n;j++) printf("%dt",array[i][j]); printf("%dn",array[i][j]); } printf("n"); return 0; }

调试结果

5e1120f83e0aae6feb475b16d34ef9d3.png

最后

以上就是活泼鸡翅最近收集整理的关于c语言二维数组排序_C语言实现螺旋二维数组的全部内容,更多相关c语言二维数组排序_C语言实现螺旋二维数组内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(134)

评论列表共有 0 条评论

立即
投稿
返回
顶部