番禺网站建设价格,哈尔滨网络公司新闻,管理咨询公司税收优惠,如何建设好英文网站题目
所谓“螺旋矩阵”#xff0c;是指对任意给定的N#xff0c;将1到NN的数字从左上角第1个格子开始#xff0c;按顺时针螺旋方向顺序填入NN的方阵里。本题要求构造这样的螺旋方阵。
格式
输入格式: 输入在一行中给出一个正整数N#xff08;10#xff09;。
输出…题目
所谓“螺旋矩阵”是指对任意给定的N将1到N×N的数字从左上角第1个格子开始按顺时针螺旋方向顺序填入N×N的方阵里。本题要求构造这样的螺旋方阵。
格式
输入格式: 输入在一行中给出一个正整数N10。
输出格式: 输出N×N的螺旋方阵。每行N个数字每个数字占4位。
样例
输入样例: 5 输出样例: 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9
解答
#include stdio.h int main() { int n; scanf(%d, n); int matrix[n][n]; int num 1; int row_start 0; int row_end n - 1; int col_start 0; int col_end n - 1; while (row_start row_end col_start col_end) { for (int col col_start; col col_end num n * n; col) { matrix[row_start][col] num; } row_start; for (int row row_start; row row_end num n * n; row) { matrix[row][col_end] num; } col_end--; for (int col col_end; col col_start num n * n; col--) { matrix[row_end][col] num; } row_end--; for (int row row_end; row row_start num n * n; row--) { matrix[row][col_start] num; } col_start; } for (int i 0; i n; i) { for (int j 0; j n; j) { printf(%4d, matrix[i][j]); } printf(\n); } return 0;
}