谁给个思路?

fengzhengt 2002-06-14 10:43:47
1 16 15 14 13

2 17 24 23 12

3 18 25 22 11

4 19 20 21 10

5 6 7 8 9

用c++实现
...全文
20 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ynli2002 2002-06-14
  • 打赏
  • 举报
回复
例子
1.a(1,1)=1
2.a(1.j)=a(1,1)+3*k-3+(k-j+(i-1)) 此时k=5
当a(i,j)中i>=j时 a(i,j)=a(i-1,j)+1
3.a(2,1)=2,a(2,2)=17
4.a(2,j)=a(2,2)+3*k-3+(k-j+(i-1)) 此时k=3
依此类推
(好像有点问题,我在想想)
sun_srh 2002-06-14
  • 打赏
  • 举报
回复
我忘了说明!
上面的程序是将螺旋方阵存放在n*n的二维数组中并把它打印输出。
sun_srh 2002-06-14
  • 打赏
  • 举报
回复
好象在帮你做作业,你自己慢慢看吧
#include<stdio.h>
main()
{
int i,j,k,n;
int mat[10][10],value=1;
printf("\nPlease input dimension of mat:");
scanf("%d",&n);
for(k=0;k<(n+1)/2;k++){
for(i=k;i<n-k;i++)
mat[i][k]=value++;
for(i=k+1;i<n-k;i++)
mat[n-k-1][i]=value++;
for(i=n-k-2;i>=k;i--)
mat[i][n-k-1]=value++;
for(i=n-k-2;i>k;i--)
mat[k][i]=value++;
}
puts("\n");
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("%8d",mat[i][j]);
}
puts("\n");
}
}

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧