标题:则以该数字为矩阵的大小,把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中 ...
只看楼主
kyk0624
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-5-10
结帖率:0
已结贴  问题点数:20 回复次数:2 
则以该数字为矩阵的大小,把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中
则以该数字为矩阵的大小,把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中。例如:
输入数字2,则程序输出:
1 2
4 3
输入数字3,则程序输出:
1 2 3
8 9 4
7 6 5
输入数字4, 则程序输出:
1   2   3   4
12  13  14  5
11  16  15  6
10   9  8   7

 求代码!
搜索更多相关主题的帖子: 顺时针 
2011-05-10 20:23
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
得分:20 
这个实在不太会  我记得有个帖子发过 你可以去搜搜

                                         
===========深入<----------------->浅出============
2011-05-10 20:36
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
得分:0 
程序代码:
# include <stdio.h>
void main()
{
int f(int b);
int a[11][11],i,j ;
for(i=1;i<=10;i++)
for(j=1;j<=10;j++)
{
if(i<=j)
{
if(i<=(11-j))
a[j][i]=36*(i-1)-8*f(i-2)+j-(i-1);
else
a[j][i]=36*(10-j)-8*f(9-j)+j+i-2*(10-j)-1 ;
}
else
{
if(i<=(11-j))
a[j][i]=36*j-8*f(j-1)-i+j+1 ;
else
a[j][i]=36*(11-i)-8*f(11-i-1)-i-j+2*(10-i)+3 ;
}
;
}
;
for(i=1;i<=10;i++)
{
for(j=1;j<=10;j++)
printf("%4d",a[i][j]);
printf("\n");
}
;
}
int f(int b)
{
int m ;
if(b<=0)
m=0 ;
else
m=f(b-1)+b ;
return(m);
}
找到了

                                         
===========深入<----------------->浅出============
2011-05-10 20:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-339433-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014854 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved