/*编写一程序P707.C实现以下功能
下面是一个5*5阶的螺旋方阵。编程输出此形式的n*n(n<=15)阶的方阵(顺时针方向旋进),n由键盘输入。
┌ 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 ┘
程序的运行效果应类似地如图1所示,图1中的15是从键盘输入的内容*/
#include <stdio.h>
int main(void)
{
int str[15][15];
int i, j, n, m = 1;
do
{
printf("Enter n(n<=15):\n");
scanf("%d", &n);
} while (n < 0 || n>15);
for (i = 0; i < n; i++)
{
for (j = i; j < n - i; j++)
{
str[i][j] = m;
m++;
}
for (j = i + 1; j < n - i; j++)
{
str[j][n - i - 1] = m;
m++;
}
for (j = n - i - 2; j >= i; j--)
{
str[n - i - 1][j] = m;
m++;
}
for (j = n - i - 2; j >= i + 1; j--)
{
str[j][i] = m;
m++;
}
}
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
printf("%5d", str[i][j]);
}
printf("\n");
}
return 0;
}
成信大P707
最新推荐文章于 2024-05-20 20:08:58 发布