编程打印如图3-5所示的n*n方阵(算法书上的课后习题)-爱代码爱编程
hello!,你们好
今天呢,我给大家写的是书上的一道课后习题,因为老师当时布置的,所以也就完成了
个人感觉和书上的例题是很相似的(算法设计与分析第三版82页),几乎没什么大的改变,如果你没有学会呢,估计是上课没有认真听哦!!,看完我的代码,希望你回去再好好看书
加油!少年!别停下脚步!
具体的思路呢,也和书上的差不多,小白代码,大神勿喷。
好了 咱们上代码
#include<stdio.h>
#include<stdlib.h>
void test()
{
int i, j, a[50][50], n, k;
printf("请输入一个矩阵(?*?)\n");
scanf_s("%d", &n);
k = 1;
for (i = 1; i <= n / 2; i++)
{
for (j = i; j <= n -i+1; j=j+1)//上方
{
a[i][j] = k;
k=k+1;
}
for (j = i+1; j <= n - i+1; j=j+1)//右侧
{
a[j][n + 1 - i] = k;
k=k+1;
}
for (j = n -1; j >= i ; j=j-1)//下方
{
a[n + 1 - i][j] = k;
k=k+1;
}
for (j = n -i; j >= i+1; j=j-1)
{
a[j][i] = k;
k=k+1;
}
}
if (n % 2 == 1)
{
i = (n + 1) / 2;
a[n/2+1][n/2+1] = n * n;
}
for (i = 1; i <= n; i++)
{
printf("\n");
for (j = 1; j <= n; j++)
printf("%3d", a[i][j]);
}
}
int main()
{
test();
return 0;
}
希望还没有明白的同学,看完我的代码后仔细想想
我觉得聪明的你们没有问题的!
加油加油!冲!!
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/m0_46472878/article/details/111106948