旋转矩形

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
33
34
35
#include<stdio.h>
int main(void){
int n;
scanf("%d",&n);
int left=0,right=n-1,top=0,bottom=n-1;
int a[n][n];
int i=1;
while(i<=n*n){
for(int j=left;j<=right;j++){
a[top][j]=i++;
}
top++;
for(int j=top;j<=bottom;j++){
a[j][right]=i++;
}
right--;
for(int j=right;j>=left;j--){
a[bottom][j]=i++;
}
bottom--;
for(int j=bottom;j>=top;j--){
a[j][left]=i++;
}
left++;
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(j>0) printf(" ");
printf("%d",a[i][j]);
}
printf("\n");
}
return 0;
}