永发信息网

下面程序的功能是输出以下n*n阶(最大为9阶)方阵。能帮我分析下思路啊!!!

答案:3  悬赏:10  手机版
解决时间 2021-03-04 18:31
下面程序的功能是输出以下n*n阶(最大为9阶)方阵。请分析程序填空。(以下例子是6阶方阵)
1 1 1 1 1 1
1 2 2 2 2 1
1 2 3 3 2 1
1 2 3 3 2 1
1 2 2 2 2 1
1 1 1 1 1 1
main()
{int a[9][9],n,i,j,m;
scanf("%d",&n);
m=(n+1)/2;
for(i=0;i<m;i++)
for(j=0;j<n-i;j++)
{a[i][j]=i+1;
a[【1】][j]=i+1;
a[j][i]=i+1;
a[j][【2】]=i+1;
}
for(i=0;i<n;i++)
{for(j=0;j<n;j++)
printf("%3d",a[i][j]);
printf("\n");
}
}
最佳答案
这个题有问题,他的j的循环很明显不对,我尝试自己写了一下,思路是一样的,从1 开始慢慢写就明白这个函数什么意思了
#include<stdio.h>
#define M 50
main()
{int a[9][9],n,i,j,m;
scanf("%d",&n);
m=(n+1)/2;
for(i=1;i<=m;i++)
for(j=i;j<=n-i+1;j++)
{a[i][j]=i;
a[n-i+1][j]=i;
a[j][i]=i;
a[j][n-i+1]=i;
}
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
printf("%3d",a[i][j]);
printf("\n");
}
}
全部回答
#include <stdio.h> int main() { int a[9][9] = { 0 }, n, i, j, m; scanf("%d", &n); m = (n + 1) / 2; for (i = 0; i < m; i++) for (j = i; j < n - i; j++)    // 此语句你写的是错误的, 按照你的是不可能的到那样的输出的 { a[i][j] = i + 1; a[n - i - 1][j] = i + 1;    // (1) a[j][i] = i + 1; a[j][n - i - 1] = i + 1;    // (2) } for(i=0;i<n;i++) { for(j=0;j<n;j++) printf("%3d",a[i][j]); printf("\n"); } return 0; }
思路: 考虑走第一圈,分4段 记录第一段 开始的i0,j0 和 到达 的 i1 另3段走法 用 i0,j0,i1 描述 第二圈和后来圈的变化是i0 = i0+1;i1=i1-1;j0=j. 一共转 n/2 圈 就成功了。 每走一格,填入数值 v=v+1, v 初值1。 #include void main() { int x[25][25]; int ii,jj,n = 6; int v=1; int i0,i1,j0,j; printf("please enter n, n=3 to 25\n"); scanf("%d",&n); i0=0; i1 = n -1; for (j=0;j<=n/2;j++) { j0 = j; for (ii=i0;ii<=i1;ii++) {x[j0][ii]=v; v++;}; for (jj=j0+1;jj<=i1;jj++) {x[jj][i1]=v; v++;}; for (ii=i1-1;ii >=i0;ii--) {x[i1][ii]=v; v++;}; for (jj=i1-1;jj >=i0+1;jj--) {x[jj][i0]=v; v++;}; i0 = i0+1;i1=i1-1; } for (jj=0;jj array[i]=x;i++;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
键盘上最少用到哪个键?
大邱里韩国炸鸡在哪里啊,我有事要去这个地方
小新星英语(宁安分校)地址在哪,我要去那里办
我现在的头发才到肩上,前面有刘海,扎个马尾
现代医学模式要求医务人员既要维护患者的利益
香港哪个酒店性价比高
这个社会太歧视女性了吧,为什么女性年纪大了
骨膜增生的CT表现,正确的是()
要蓝发紫眸超冷杀手动漫女孩的着装描写
打108颗麻将调在哪个档?
北京跆拳道黑带考试内容和费用~~!
宝岛眼镜小津桥店地址在哪,我要去那里办事
为什么我的三星账户不能同步和备份
妈妈生日我微信里面只有3十几红包多少合适
人造草皮套什么定额
推荐资讯
∠AOB=∠COD=78°OE平分∠BOC,那么OE平分∠AO
为什么我的苹果商店里面下载东西的时候都是英
- - 电脑最近有时会发出嘟嘟嘟嘟的声音 耳机
为什么英国宗教改革不简化宗教仪式?
兴坪珂玲旅馆在什么地方啊,我要过去处理事情
祖籍广东省梅州市大埔县的2013年度“最美乡村
这句话有语病,应该改成什么?活动期间,为感谢
催啊催啊我就不害怕是什么歌
必喝的进口啤酒排名,什么牌子的德国啤酒好喝
宋朝普通人能穿黄色衣服吗
青海门源杰华公司这个地址在什么地方,我要处
《西游记》第5回至20回的主要内容+感受
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?