|
|
发表于 2004-5-29 20:28:24
|
显示全部楼层
最笨的方法:p但很好用
[php]
/*Redhat linux 9.0*/
#include <stdio.h>
main(void)
{
int i, j, k, n;
printf(" lease input number: ");
scanf("%d",&n);
printf("\\33[2J\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\\33[20A");
for (i=1; i <= n; i++) printf("%5d",i);
for (k=1, i=n+1;i <= n*n; i++)
{
for (j=1; j <= (n-k)&&i <= n*n; j++, i++)
printf("\\33[1B\\33[5D%5d",i);
for (j=1; j <= (n-k)&&i <= n*n; j++, i++)
printf("\\33[10D%5d",i);
k++;
for (j=1; j <= (n-k)&&i <= n*n; j++, i++)
printf("\\33[1A\\33[5D%5d",i);
for (j=1; j <= (n-k)&&i <= n*n; j++, i++)
printf("%5d",i);
k++,i--;/*修正了一下bug:有些值丢失*/
}
printf("\\33[20B");
}
[/php]
执行结果:
- 1 2
- 4 3
- 1 2 3
- 8 9 4
- 7 6 5
-
- 1 2 3 4 5 6 7 8
- 28 29 30 31 32 33 34 9
- 27 48 49 50 51 52 35 10
- 26 47 60 61 62 53 36 11
- 25 46 59 64 63 54 37 12
- 24 45 58 57 56 55 38 13
- 23 44 43 42 41 40 39 14
- 22 21 20 19 18 17 16 15
复制代码 |
|