1 条题解
-
0
C :
#include <stdio.h> main() { int N; int a[10][10]; while (scanf("%d",&N)!=EOF){ int i,j,k,n=1; for(k=0;k<(N+1)/2;k++) { for(i=k,j=k;j<N-1-k;j++) {a[i][j]=n;n++;} for(;i<N-1-k;i++) {a[i][j]=n;n++;} for(;j>k;j--) {a[i][j]=n;n++;} for(;i>k;i--) {a[i][j]=n;n++;} } if(N%2!=0) a[i][j]=n; for(i=0;i<N;i++) { for(j=0;j<N;j++) if (j!=(N-1)) printf("%d ",a[i][j]); else printf("%d",a[i][j]); if (j!=(N-1)) printf("\n"); } } }
C++ :
#include <bits/stdc++.h> using namespace std; int a[15][15]; int n; void change() { int ff=0; int data=1; int i=1,j=1; while(data<=n*n){ a[i][j]=data++; if (ff==0){ j++; if (a[i][j]!=0){ i++; j--; ff=1; } continue; } if (ff==1){ i++; if (a[i][j]!=0) { j--; i--; ff=2; } continue; } if (ff==2){ j--; if (a[i][j]!=0){ i--; j++; ff=3; } continue; } if (ff==3){ i--; if (a[i][j]!=0){ j++; i++; ff=0; } continue; } } } void init() { memset(a,0,sizeof(a)); for (int i=0;i<=n+1;i++){ a[0][i]=a[i][0]=a[n+1][i]=a[i][n+1]=-1; } } void print() { for (int i=1;i<=n;i++){ for (int s=1;s<=n;s++){ if (s>1) printf(" "); printf("%d",a[i][s]); } printf("\n"); } } int main() { while(~scanf("%d",&n)){ init(); change(); print(); } return 0; }
Java :
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); boolean flag = true; int n; while (scan.hasNextInt()) { n = scan.nextInt(); int[][] arrs = new int[n][n]; int a; int b; int c = 0; int z = n * n;// 矩阵最大数字 int ou = 1;// 当前数字 while (ou <= z) { a = 0; b = 0; for (a = a + c, b = b + c; b < n - c; b++) {// 从左到右 if (ou > z) { break; } else { arrs[a][b] = ou++; } } for (b--, a++; a < n - c; a++) {// 从上到下 if (ou > z) { break; } else { arrs[a][b] = ou++; } } for (b--, a--; b >= c; b--) {// 从右到左 if (ou > z) { break; } else { arrs[a][b] = ou++; } } for (a--, b++; a >= c + 1; a--) {// 从下到上 if (ou > z) { break; } else { arrs[a][b] = ou++; } } c++;// 圈数 } int i, j; for (i = 0; i < n; i++) { for (j = 0; j < n; j++) System.out.print(arrs[i][j] + " "); System.out.println(); } } } }
- 1
信息
- ID
- 829
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者