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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
| # include <stdio.h> int main () { int a[50][50],i,k,l,m,num; int zs,zx,ys,yx; int x,y,flag; for (y=0;y<50;y++) { for (x=0;x<50;x++) { a[y][x] = 0; } } printf("line(<50):"); scanf("%d",&i); if (i%2 == 0) { flag = 0; } else { flag = 1; } ys = 1; zx = i*i; a[0][i-1] = ys; a[i-1][0] = zx; for (k=1;k<i;k++) { if (k%2 == 1) { a[0][i-k-1] = a[0][i-k] + 1; } if (k%2 == 0) { a[0][i-k-1] = a[0][i-k] + 2*k; } } for(l=1;l<i;l++) { if (i%2 == 0) { a[l][l] = a[l-1][l-1] + 1; } if (i%2 == 1) { a[l][l] = a[l-1][l-1] - 1; } } m = 0; for (k=1;k<=i;k++) { if (k%2 == flag) { for (l=1;l<=i-1;l++) { a[l][l+1+m] = a[l-1][l+m] + 1; } } else { for (l=1;l<=i-1;l++) { a[l][l+1+m] = a[l-1][l+m] - 1; } } m = m + 1; } for (k=1;k<i-1;k++) { if (k%2 == 1) { a[i-k-1][0] = a[i-k][0] - 2*k; } if (k%2 == 0) { a[i-k-1][0] = a[i-k][0] - 1; } } m = 0; for (k=1;k<=i;k++) { if (k%2 == flag) { for (l=1;l<i-1;l++) { a[l+1+m][l] = a[l+m][l-1] + 1; } } else { for (l=1;l<i-1;l++) { a[l+1+m][l] = a[l+m][l-1] -1; } } m = m + 1; } for (y=0;y<i;y++) { for (x=0;x<i;x++) { printf("%8d",a[y][x]); } printf("\n"); printf("\n"); } return 0; }
|