大一都过了1/4了,好好学吧。
solution1:
设置一个大的for循环,里面有四个小for循环,对应四个边,因此进行一个大循环,便走完了一圈。
先空着;
solution2:
int x=0,y=0; for (int i = 1;i<= n*n;i++){ if (x>= y && n-1-x >= y){ ary[x][y] = i; x++; } 类似这样 }
函数参数为:void rotate_once (int ary[][],int x,int y,int start_num,int n);// x,y是初始坐标,start_num是初始的要打印的数字,n是阶数(递归一次变n-2);
{ if (n==0) return ; if (n==1) ary[n/2][n/2] = start_num; //奇偶的两种出口条件; int j = y,i= x; for (i= x;i<n-x-1;i++){ ary[i][j] = start_num; start_num++; 。 。 。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234015.html原文链接:https://javaforall.net