回 帖 发 新 帖 刷新版面

主题:打印‘A’,‘B’,‘C’,‘D’,‘E’五个字符任意排列的所有情况

HELP!!!!![em8][em7][em9][em11][em13][em16]

回复列表 (共8个回复)

沙发

begin
writeln('ABCDE');
writeln('BCDEA');
...
end.
着是最好的方法

板凳

用阿思可码呀!~~~~~~~~很容易解决的问题

3 楼

你打出来???

4 楼


for i:=65 To 69 Do
  chr(i)
5 个嵌套

5 楼

和求1~5数字的全排列方法一样——但在输出时是write(chr(<数字>+ord('A')-1));
[em1][em1][em1]
[fly]So Easy![/fly]

6 楼

XVenus
你所说的
for i:=65 To 69 Do
  chr(i)
5 个嵌套//怎么做呀~~~说完嘛`~

7 楼

此为n的全排列。运行程序输入ABCDE即可。


program arrange;
var a:string;
k,n:integer;
procedure swap(var a:string;k,i:integer);
var t:char;
  begin
    t:=a[k];a[k]:=a[i];a[i]:=t;
end;
procedure perm(a:string;k,n:integer);
var i:integer;
begin
if k=n then writeln(a)
    else  for i:=k to n do
      begin
       swap(a,k,i);
       perm(a,k+1,n);
       end;
end;
begin
write('input a string:');
  readln(a);
  n:=length(a);
  perm(a,1,n);
end.

8 楼

楼上的,,,,,在第一个过程中,你的变量说明有问题~~~
明明是n后来又用i.....
请更正
以便大家学习~~~

我来回复

您尚未登录,请登录后再回复。点此登录或注册