- 论坛徽章:
- 0
|
回复 #2 khb_gl 的帖子
全贴吧.是个打印螺旋数组的程序
1 #include <stdio.h>
2
3
4 void draw(int **s, int pos, int val, int len)
5 {
6 if(len<=0)
7 return;
8
9 int npos = pos + 1;
10 int nlen = len - 2;
11 int nval = val + 4*len -4;
12 draw(s, npos, nval, nlen);
13
14 int i,lval=val,row=pos, col=pos;
15 for(i=0;i<len;i++)
16 {
17 s[row][col++] = lval++;
18 }
19 col--;
20 row++;
21 for(i=0;i<len-1;i++)
22 {
23 s[row++][col] = lval++;
24 }
25 row--;
26 col--;
27 for(i=0;i<len-1;i++)
28 {
29 s[row][col--] = lval++;
30 }
31 col++;
32 row--;
33 for(i=0;i<len-2;i++)
34 {
35 s[row--][col] = lval++;
36 }
37 }
38 int main()
39 {
40 int n = 0;
41 scanf("%d", &n);
42
43 int **tank = NULL;
44 tank = (int **)malloc(n*sizeof(int *));
45 int i;
46 for(i=0;i<n;i++)
47 {
48 tank = (int *)malloc(n*sizeof(int));
49 }
50
51 int x,y;
52 for(x=0;x<n;x++)
53 {
54 for(y=0;y<n;y++)
55 {
56 tank[x][y] = 0;
57 }
58 }
59
60 draw(tank, 0, 1, n);
61 for(x=0;x<n;x++)
62 {
63 for(y=0;y<n;y++)
64 {
65 printf("%4d ", tank[x][y]);
66 }
67 printf("\n");
68 }
69
70 return 0;
71 }
gcc luoxuan.c -o luoxuan
luoxuan.c: In function ‘main’:
luoxuan.c:44: warning: incompatible implicit declaration of built-in function ‘malloc’ |
|