| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 944 人关注过本帖
标题:求一算法实现如下功能
只看楼主 加入收藏
yinzhun
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-8-7
收藏
 问题点数:0 回复次数:15 
求一算法实现如下功能
1 2 6 7
3 5 8 13
4 9 12 14
10 11 15 16
搜索更多相关主题的帖子: 算法 
2006-12-19 20:33
fengwei
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2006-12-19
收藏
得分:0 

时间紧 算法不怎么好。基本功能可以实现自己改下

#include <stdio.h>
#define N 4
int a[N*2][N*2];
void main()
{ int i,j;
int m;
int flag;
for(i=0;i<2*N;i++)
for(j=0;j<2*N;j++)
a[i][j]=0;
i=0,j=0;
a[i][j++]=1;
for(m=2;m<=N*N;m++)
{ if(i>=N||j>=N) m--;
a[i][j]=m;
if(i==0)
{
flag=-1;
if(a[j][i])
{
j-=flag;
continue;
}
}
else if(j==0)
{
flag=1;
if(a[j][i])
{
i+=flag;
continue;
}
}

i-=flag;
j+=flag;

}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%4d",a[i][j]);
printf("\n");
}
}

2006-12-19 21:54
yinzhun
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-8-7
收藏
得分:0 

谢谢这位兄弟了.很正确.


2006-12-19 22:22
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

/*左上部分*/
for(i=1;i<=4;i++)
{
if(i%2==1){
j=i;
k=1;
while(j>=1&&k<=4)
{
a[j][k]=s++;
//printf("*%d,%d,%d\n",j,k,s-1);
j--;
k++;
}
}
else
{j=1;k=i;
while(j<=4&&k>=1)
{
a[j][k]=s++;
//printf("**%d,%d,%d\n",j,k,s-1);
j++;
k--;

}
}
}


倚天照海花无数,流水高山心自知。
2006-12-19 22:43
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 

我的:
#include<stdio.h>
#include<math.h>


/*特别为你写的,在Win-TC下调试编译通过*/

int main(void) {
int n,i,k,w=1,v=1,t=1,e=1,f;
scanf("%d",&n);
f=sqrt(n);
n/=2;
for(i=1;i<=f;i++) {
if(e>n) break;
(i%2) ? w=1,v=t : (w=t,v=1);
for(k=1;k<=t;k++) {
gotoxy(w*3,v);
printf("%d",e);
gotoxy((f-w+1)*3,f-v+1);
printf("%d",n*2-e+1+f%2);
e++;
if(e>n) break;
(i%2) ? w++,v-- : (w--,v++);
}
t++;
}
if(f%2) {
gotoxy((f/2+1)*3,f/2+1);
printf("%d",n+1);
}
getch();
}


My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2006-12-21 20:23
chengxiaobo
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2006-11-15
收藏
得分:0 
呵呵,楼上的大哥,这是什么程序啊,我怎么有点看不懂啊,我VC++也学了啊,不过学的不好,你那里好多的语句我都看不懂,能解释一下吗?还有我怎么没有发现LZ问的问题有什么规律吗,好像没有吧,有的话,那是什么规律啊。
2006-12-21 20:33
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
gotoxy,到屏幕的(X,Y)位置,其实这就是直接从1-N在屏幕上写数字,最直接的算法.

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2006-12-21 20:36
liyueyu
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2006-12-3
收藏
得分:0 

累不累啊?!四个printf不就出来了!哈哈!而且不会出错哈哈!

2006-12-21 20:43
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
以下是引用liyueyu在2006-12-21 20:43:31的发言:

累不累啊?!四个printf不就出来了!哈哈!而且不会出错哈哈!

算法...........
如果是5*5的如何?100*100的呢?你能依次定义数组存储吗?那空间与时间都花不来.


My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2006-12-21 20:49
liyueyu
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2006-12-3
收藏
得分:0 

不同的情况当然不同处理,我只是这么说。代码不就讲求易读,效率。。。嘛!何况这个题的最终目的就是输出啊!

有些东西确实需要了解它的算法和思路。但如果相当简单的东西还是应该怎么实用怎么做啦!

2006-12-21 21:02
快速回复:求一算法实现如下功能
数据加载中...
 
   



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

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