用c语言循环打印以下数字
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
- #include <stdio.h>
- #define M 4
- void print(int a[][M])
- {
- int i,j;
- for(i=0;i<M;i++)
- {
- for(j=0;j<M;j++)
- {
- printf("%4d",a[i][j]);
- }
- printf("\n");
- }
- }
- int main()
- {
- int i,j;
- int t=1;
- int a[M][M];
- int h_start=0,h_end=M-1,l_start=0,l_end=M-1;
- int k;
-
- i=0,j=0;
- for(k=0;k<M/2+1;k++)
- {
- for(j=l_start;j<=l_end;j++)
- {
- a[h_start][j] = t++;
- }
-
- h_start++;
-
- for(i=h_start;i<=h_end;i++)
- {
- a[i][l_end] = t++;
- }
-
- l_end--;
-
- for(j=l_end;j>=l_start;j--)
- {
- a[h_end][j]=t++;
- }
-
- h_end--;
-
- for(i=h_end;i>=h_start;i--)
- {
- a[i][l_start]=t++;
- }
- l_start++;
- }
-
- print(a);
- return 0;
- }
复制代码
|
|