- 论坛徽章:
- 2
|
- #include <stdio.h>
- /*
- ** matrix size(width and height) must be odd
- */
- #define m_matrix_size 7
- int v_matrix[m_matrix_size][m_matrix_size];
- int main(void) {
- int x, y;
- int i;
- x = m_matrix_size / 2;
- y = 0;
- for (i = 1; i <= m_matrix_size * m_matrix_size; i++) {
- v_matrix[y][x] = i;
- if (i % m_matrix_size == 0) {
- y++;
- if (y >= m_matrix_size) {
- y = 0;
- }
- }else {
- x--;
- if (x < 0) {
- x = m_matrix_size - 1;
- }
- y--;
- if (y < 0) {
- y = m_matrix_size - 1;
- }
- }
- }
- for (y = 0; y < m_matrix_size; y++) {
- for (x = 0; x < m_matrix_size; x++) {
- if (x > 0) {
- printf(", ");
- }
- printf("%2d", v_matrix[y][x]);
- }
- printf("\n");
- }
- return 0;
- }
复制代码 |
|