└── c /c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define SIZE 10 4 | 5 | int main() { 6 | int pattern[SIZE][SIZE] = {0}; 7 | int i, j, m, n, p, q, s, num; 8 | printf("Enter the size of the pattern: "); 9 | scanf("%d", & s); 10 | num = 1; 11 | i = 0; 12 | j = 0; 13 | m = 0; 14 | n = s - 1; 15 | p = 0; 16 | q = s - 1; 17 | 18 | 19 | while (num <= s * s) { 20 | 21 | for (j = p; j <= q; j++) { 22 | pattern[m][j] = num; 23 | num++; 24 | } 25 | m++; 26 | 27 | for (i = m; i <= n; i++) { 28 | pattern[i][q] = num; 29 | num++; 30 | } 31 | q--; 32 | for (j = q; j >= p; j--) { 33 | pattern[n][j] = num; 34 | num++; 35 | } 36 | n--; 37 | for (i = n; i >= m; i--) { 38 | pattern[i][p] = num; 39 | num++; 40 | } 41 | p++; 42 | } 43 | printf("\n"); 44 | for (i = 0; i < s; i++) { 45 | for (j = 0; j < s; j++) { 46 | printf("%d\t", pattern[i][j]); 47 | } 48 | 49 | printf("\n"); 50 | } 51 | return 0; 52 | } 53 | 54 | --------------------------------------------------------------------------------