c语言蛇形填阵将1~n*n填入一个n*n的矩阵中,并要求成为蛇形.蛇形即是从右上角开始向下,向左,向上,向右,循环填入数字.比如n=5时矩阵为:13 14 15 16 112 23 24 17 211 22 25 18 310 21 20 19 49 8 7 6 5输入
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/17 01:51:04
![c语言蛇形填阵将1~n*n填入一个n*n的矩阵中,并要求成为蛇形.蛇形即是从右上角开始向下,向左,向上,向右,循环填入数字.比如n=5时矩阵为:13 14 15 16 112 23 24 17 211 22 25 18 310 21 20 19 49 8 7 6 5输入](/uploads/image/z/13425159-39-9.jpg?t=c%E8%AF%AD%E8%A8%80%E8%9B%87%E5%BD%A2%E5%A1%AB%E9%98%B5%E5%B0%861%EF%BD%9En%2An%E5%A1%AB%E5%85%A5%E4%B8%80%E4%B8%AAn%2An%E7%9A%84%E7%9F%A9%E9%98%B5%E4%B8%AD%2C%E5%B9%B6%E8%A6%81%E6%B1%82%E6%88%90%E4%B8%BA%E8%9B%87%E5%BD%A2.%E8%9B%87%E5%BD%A2%E5%8D%B3%E6%98%AF%E4%BB%8E%E5%8F%B3%E4%B8%8A%E8%A7%92%E5%BC%80%E5%A7%8B%E5%90%91%E4%B8%8B%2C%E5%90%91%E5%B7%A6%2C%E5%90%91%E4%B8%8A%2C%E5%90%91%E5%8F%B3%2C%E5%BE%AA%E7%8E%AF%E5%A1%AB%E5%85%A5%E6%95%B0%E5%AD%97.%E6%AF%94%E5%A6%82n%3D5%E6%97%B6%E7%9F%A9%E9%98%B5%E4%B8%BA%EF%BC%9A13+14+15+16+112+23+24+17+211+22+25+18+310+21+20+19+49+8+7+6+5%E8%BE%93%E5%85%A5%26%236)
c语言蛇形填阵将1~n*n填入一个n*n的矩阵中,并要求成为蛇形.蛇形即是从右上角开始向下,向左,向上,向右,循环填入数字.比如n=5时矩阵为:13 14 15 16 112 23 24 17 211 22 25 18 310 21 20 19 49 8 7 6 5输入
c语言蛇形填阵
将1~n*n填入一个n*n的矩阵中,并要求成为蛇形.蛇形即是从右上角开始向下,向左,向上,向右,循环填入数字.
比如n=5时矩阵为:
13 14 15 16 1
12 23 24 17 2
11 22 25 18 3
10 21 20 19 4
9 8 7 6 5
输入
输入有多行,每行为一个整数n(1
c语言蛇形填阵将1~n*n填入一个n*n的矩阵中,并要求成为蛇形.蛇形即是从右上角开始向下,向左,向上,向右,循环填入数字.比如n=5时矩阵为:13 14 15 16 112 23 24 17 211 22 25 18 310 21 20 19 49 8 7 6 5输入
#include<stdio.h>
#define MAXN 50
int a[MAXN][MAXN];
int main()
{
int n, x, y, tot = 0;
scanf("%d", &n);
memset(a, 0, sizeof(a));
tot = a[x = 0][y = n - 1] = 1;
while(tot < n * n)
{
while(x + 1 < n && ! a[x + 1][y]) a[++x][y] = ++tot;
while(y - 1 >= 0 && ! a[x][y - 1]) a[x][--y] = ++tot;
while(x - 1 >= 0 && ! a[x - 1][y]) a[--x][y] = ++tot;
while(y + 1 < n && ! a[x][y + 1]) a[x][++y] = ++tot;
}
for(x = 0; x < n; x++)
{
for(y = 0; y < n; y++)
printf("%3d", a[x][y]);
puts("");
}
return 0;
}