//: Playground - noun: a place where people can play //import UIKit /* 顺时针打印N*N矩阵 */ func anticlockwiseNN(n:Int){ var m=1; var a = [[Int]](); for _ in 0..<n { //初始化矩阵元素为0 var b = [Int]() for _ in 0..<n { b.append(0) } a.append(b) } for i in 0 ..< n/2 { //只旋转n/2次 for j in i ..< (n-i) { //向右 if a[i][j] == 0 { a[i][j] = m m = m + 1 } } for j in (i+1) ..< (n-i) { //向下 if(a[j][n-i-1] == 0){ a[j][n-i-1] = m ; m = m + 1 ; } } for j in ( i ..< (n-i)).reversed(){ //向左 if a[n-i-1][j] == 0 { a[n-i-1][j] = m ; m = m + 1 } } for j in (i ..< (n-i-1)).reversed() { //向上 if a[j][i] == 0 { a[j][i] = m m = m + 1 } } } if(n%2==1){//注意!当n为奇数时,有个正中心点 a[n/2][n/2] = m; } for i in 0..<n { //初始化矩阵元素为0 var s = ""; for j in 0..<n { if a[i][j] < 10 { s = s + "0" } s = s + String(a[i][j]) + " " } print(s) } } anticlockwiseNN(n: 6)