作业帮 > 综合 > 作业

C语言,输入一个(1~20)的数n!得到n*n个数,以n*n矩阵顺时针输出!

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/27 20:52:58
C语言,输入一个(1~20)的数n!得到n*n个数,以n*n矩阵顺时针输出!
方法很多,以下是按照各边的次序填充再输出:
#include<stdio.h>
int main( )
{
int i,j,a[100][100],n,k = 1;
printf("please input a number n:");
scanf("%d",&n);
for (i = 1; i <= n / 2; ++ i)
{
for (j = i; j <= n - i; ++ j) /* 左侧 */
a[i][j] = k ++;
for (j = i; j <= n - i; ++ j) /* 下方 */
a[j][n + 1 - i] = k ++;
for (j = n - i + 1; j >= i + 1; j = j - 1) /* 右侧 */
a[n + 1 - i][j] = k ++;
for (j = n - i + 1; j >= i + 1; j = j - 1) /* 上方 */
a[j][i] = k ++;
}
if (n % 2 == 1)
for (i = 1; i <= n; ++ i)
{
for (j = 1; j <= n; ++ j)
printf("%4d",a[i][j]);
printf("\n");
}
}
另外,虚机团上产品团购,超级便宜