求助!!!组合问题。来了就给分。

seikoo 2002-11-17 08:25:46
用delphi写一程序,随意输入几个字母或数字或二者的混合,中间用空格分开,输入的数量不固定,最多为5个。输出他们之间所有的组合方式:比如输入a,b,2。输出为ab2,a2b,ba2,b2a,2ab,2ba。
我想了一天也没想出来怎么写,本来比较采,请大虾指点。谢谢了。
...全文
77 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ocool 2002-11-18
  • 打赏
  • 举报
回复
递归
wjlsmail 2002-11-18
  • 打赏
  • 举报
回复
对定长的串用循环可以处理,但是要不定长呢? 你不可能知道该写多少个For语句。 这是一个全排列问题

mattus_zhao 2002-11-18
  • 打赏
  • 举报
回复
up
chougoushi 2002-11-18
  • 打赏
  • 举报
回复
学校课本上全是这种问题嘛
dayangyang 2002-11-18
  • 打赏
  • 举报
回复
学习学习
zwjchina 2002-11-18
  • 打赏
  • 举报
回复
ab2,a2b这不是组合,是排列!
foreveryday007 2002-11-18
  • 打赏
  • 举报
回复
學習
RobertLee 2002-11-17
  • 打赏
  • 举报
回复
明天上班去看看!
niat97222 2002-11-17
  • 打赏
  • 举报
回复
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
a:array[1..3] of char;
i,j,k:integer;
begin
a[1]:='a';a[2]:='b';a[3]:='2';
for i:=1 to 3 do
for j:=1 to 3 do
for k:=1 to 3 do
memo1.Lines.Add(a[i]+a[j]+a[k]);
end;

end.
seikoo 2002-11-17
  • 打赏
  • 举报
回复
能说清楚都用到那些函数吗?能具体点吗?能给段代码吗?小的不剩感激啊!
hansion3406 2002-11-17
  • 打赏
  • 举报
回复
用循环做啊..
先取出总的参数有多少个..
比如..
a,b,2 这个就有3个参数..
把它存到数组中.A[1]:=a,A[2]:=[b],A[3]:=2,
然后再一个一个地循环到最后一个数组无素组成一个一个的字符串就是了.

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧