| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 987 人关注过本帖
标题:[原创]我写的螺旋数组算法
取消只看楼主 加入收藏
账号已被封
Rank: 1
等 级:新手上路
帖 子:234
专家分:0
注 册:2006-9-19
收藏
 问题点数:0 回复次数:3 
[原创]我写的螺旋数组算法

图片附件: 游客没有浏览图片的权限,请 登录注册

/*螺旋数组*/

#include <stdio.h>
#include <conio.h>
#define N 100

int ls[N][N];

void lssz()
{
int sum=N*N,i=0,j=0,cs=0;
while(cs<sum)
{
while(j<=N-1)
{
if (!ls[i][j])
{
ls[i][j++]=++cs;

}
else
{
j--;
break;
}
}
if (j==N)
j--;
i++;

/*从左到右*/

while(i<=N-1)
{
if (!ls[i][j])
{
ls[i++][j]=++cs;

}
else
{
i--;
break;
}
}
if (i==N)
i--;
j--;


/*从上到下*/

while(j>=0)
{
if (!ls[i][j])
{
ls[i][j--]=++cs;

}
else
{
j++;
break;
}
}
if (j<0)
j++;
i--;


/*从右到左*/

while(i>=0)
{
if (!ls[i][j])
{
ls[i--][j]=++cs;

}
else
{
i++;
break;
}
}
if (i<0)
i++;
j++;


/*从下到上*/

}

}

void main()
{
int i=0,j;
clrscr();

lssz();
for(;i<N;i++)
{
for(j=0;j<N;j++)
printf("%-5d",ls[i][j]);
puts("");
}
getch();
}

写这个想了很久的算法,这不算难
调试程序时才把我整晕了

我写错一个字母
结果不同,
我就用N=5这个矩阵自己在草稿本上测试程序
后面才找到

调试好麻烦

while(j>=0)
{
if (!ls[i][j])
{
ls[i][j--]=++cs;

}
else
{
j++; /*这儿开先我写成i++了,结果中间的往上跑了*/
break;
}
}
if (j<0)
j++;
i--;


/*从右到左*/


搜索更多相关主题的帖子: 螺旋 算法 
2006-09-22 12:38
账号已被封
Rank: 1
等 级:新手上路
帖 子:234
专家分:0
注 册:2006-9-19
收藏
得分:0 
THANK YOU
BAIDU


捅死你个汉奸!!!!1
2006-09-22 13:24
账号已被封
Rank: 1
等 级:新手上路
帖 子:234
专家分:0
注 册:2006-9-19
收藏
得分:0 

捅死你个汉奸!!!!1
2006-09-26 15:51
账号已被封
Rank: 1
等 级:新手上路
帖 子:234
专家分:0
注 册:2006-9-19
收藏
得分:0 
有点注释就好了

捅死你个汉奸!!!!1
2006-09-26 15:52
快速回复:[原创]我写的螺旋数组算法
数据加载中...
 
   



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

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