标题:大家都来看看这个怎么整阿
只看楼主
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 

#include <stdio.h>
#define N 9
char data[100]={'1','2','3','4','5','6','7','8','9'};
int main()
{
int i,j;
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
{
printf("%-3c",data[(i+j-2)%N]);
}
printf("\n");
}
return 0;
}

当然这也有局限,是因为要事先把所有的字符全部用表做好,这个只能针对给出的排列来做.


倚天照海花无数,流水高山心自知。
2007-06-19 10:22
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
再来一个,做字符串的循环移动.
#include <stdio.h>
#define N 9
char data[100]={'1','2','3','4','5','6','7','8','9'};
int main()
{
int i,j;
for(i=1;i<=N;i++)
{
char temp=data[0];
for(j=0;j<N;)
{
printf("%-3c",data[j]);
j++;
data[j-1]=data[j];
}
data[j-1]=temp;
printf("\n");
}
return 0;
}

倚天照海花无数,流水高山心自知。
2007-06-19 10:28
夜狼
Rank: 1
等 级:新手上路
帖 子:129
专家分:0
注 册:2006-11-20
得分:0 

#include "stdio.h"
main()
{
int i,j,k;
for(i=1;i<=5;i++)
{ k=i;
for(j=1;j<=5;j++)
{
if(k==6)
{
k=1;
printf("%d ",k++);
}
else
printf("%d ",k++);
}
printf("\n");
}

}


2007-06-19 22:38
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
for(j=1;j<=5;j++)
{
if(k==6)
{
k=1;
}
printf("%d ",k++);
}

倚天照海花无数,流水高山心自知。
2007-06-19 23:27
miaomiao0403
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-8-22
得分:0 
要打印所有不同的n阶方阵
2007-06-20 08:25
w362034710
Rank: 1
等 级:新手上路
帖 子:169
专家分:0
注 册:2006-12-2
得分:0 

求所有排列,,,,

2007-06-20 08:45
tanugyuu
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-3-23
得分:0 

不好意思这么久才有时间再来回复自己的帖子~

多谢楼上各位的回答,

可是大家似乎没有看清楚题目啊,

题目要求列出所有适合的方阵,

这是算法设计最困难的部分啊。

[此贴子已经被作者于2007-6-21 12:40:06编辑过]

2007-06-21 12:39
tanugyuu
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-3-23
得分:0 
我的一点不成熟的想法是这样的:

从第一个数出发
确定第一个数之后,
与第一个数不相同的数就都是满足要求的第二个数,
从中任选一个作为第二个数,
根据确定的前两个数之后就可以罗列所有符合要求的第三个数,
再针对每个符合要求的前三个数罗列第四个数,
依次类推,直到排满所有的数。

但在实现的时候还是遇到了一点困难.....
请高手们指点阿~
2007-06-21 12:46
zhao9302
Rank: 1
等 级:新手上路
帖 子:170
专家分:0
注 册:2007-5-10
得分:0 
12楼的循环移动是怎么回事?我没看明白
还有个问题 最后 return 0 是什么意思啊

新手谢谢指教了

我要一步一步往上爬……
2007-06-21 13:23
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
得分:0 
以下是引用夜狼在2007-6-19 22:38:55的发言:

#include "stdio.h"
main()
{
int i,j,k;
for(i=1;i<=5;i++)
{ k=i;
for(j=1;j<=5;j++)
{
if(k==6)
{
k=1;
printf("%d ",k++);
}
else
printf("%d ",k++);
}
printf("\n");
}

}

这位大侠是济南那的啊?


羊肉串 葡萄干 哈密瓜!!
2007-06-21 13:38



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




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

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