1 #include <stdio.h>
2
3 void PrintMatrix(int n, int direc)
4 {
5 int i, j;
6 int cnt = 0;
7 for(i = 1; i <= n; i++)
8 {
9 for(j = 1; j <= n; j++)
10 {
11 if(j >= i)
12 {
13 if(direc == 1)//direc is true, the rotating direction is that cloc k goes
14 {
15 printf("%4d ", (j%2==0)?((j-1)*(j-1)+i):(j*j+1-i));
16 }
17 else
18 {
19 printf("%4d ", (j%2==0)?(j*j+1-i):((j-1)*(j-1)+i));
20 }
21 ++cnt;
22 if(cnt % n == 0) printf("\n");
23 }
24 else
25 {
26 if(direc == 1)
27 {
28 printf("%4d ", (i%2!=0)?((i-1)*(i-1)+j):(i*i+1-j));
29 }
30 else
31 {
32 printf("%4d ", (i%2!=0)?(i*i+1-j):((i-1)*(i-1)+j));
33 }
34 ++cnt;
35 if(cnt % n == 0) printf("\n");
36 }
37 }
38 }
39 }
40
41 int main()
42 {
43 int n, dir;
44 printf("Please input the dim of the Martrix:\n");
45 scanf("%d", &n);
46 printf("Please input the direction of the Martrix(1 is clock directon, 0 is the opersite):\n");
47 scanf("%d", &dir);
48 PrintMatrix(n, dir);
49 return 0;
50 }
matrix
最新推荐文章于 2023-08-11 20:20:27 发布