用DELPHI编写一个函数
输入大概1-7位数随便的一个字符,生成肯定不重复的8位数的数字的函数即可用DELPHI语言不是随机生成,比如第一次输入ABC123,生成的8位数是固定的,下次输入生成的结...
输入大概1-7位数随便的一个字符,生成肯定不重复的8位数的数字的函数即可
用DELPHI语言
不是随机生成,比如第一次输入ABC123,生成的8位数是固定的,下次输入 生成的结果一样 展开
用DELPHI语言
不是随机生成,比如第一次输入ABC123,生成的8位数是固定的,下次输入 生成的结果一样 展开
4个回答
展开全部
{$apptype console}
program exp;
var a:array[1..7] of 1..7; i,j,k:integer;
begin
randomize;
for i:=1 to 7 do a[i]:=i;
for i:=1 to 7 do
begin
j:=random(7-i+1)+i;
if j<>i then begin k:=a[i];a[i]:=a[j];a[j]:=k; end;
end;
for i:=1 to 7 do write(a[i]:4);
end.
{新建一个console application 将代码粘进去生成程序到D盘,然后在命令行里打cmd输如刚刚生成的程序的全名,例如:project1.exe}
我知道你的意思了,你的目的就是像注册一样,一个用户名生成一个id号码。对吗,其实可以自动加一啊。每注册成功一个id号码自动加一;
program exp;
var a:array[1..7] of 1..7; i,j,k:integer;
begin
randomize;
for i:=1 to 7 do a[i]:=i;
for i:=1 to 7 do
begin
j:=random(7-i+1)+i;
if j<>i then begin k:=a[i];a[i]:=a[j];a[j]:=k; end;
end;
for i:=1 to 7 do write(a[i]:4);
end.
{新建一个console application 将代码粘进去生成程序到D盘,然后在命令行里打cmd输如刚刚生成的程序的全名,例如:project1.exe}
我知道你的意思了,你的目的就是像注册一样,一个用户名生成一个id号码。对吗,其实可以自动加一啊。每注册成功一个id号码自动加一;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不会DELPHI,用C写个,你改成DELPHI吧,程序很简单,语法应该差不多。
int[] getnum()
{
srand((unsigned)time(NULL));
int[] num=int[8];
int i=0,is0=0;
while(1)
{
int r=rand()%10;
if(r==0)
{
if(is0==0)
{
is0=1;
i++
}
else continue;
}
else
{
int iscon=0;
for(int j=0;j<8;j++)
{
if(num[j]==r) iscon=1;
}
if(iscon==1)
continue;
else
{
num[i]=r;
i++;
}
}
if(i>8&is0) break;
}
return num;
}
int[] getnum()
{
srand((unsigned)time(NULL));
int[] num=int[8];
int i=0,is0=0;
while(1)
{
int r=rand()%10;
if(r==0)
{
if(is0==0)
{
is0=1;
i++
}
else continue;
}
else
{
int iscon=0;
for(int j=0;j<8;j++)
{
if(num[j]==r) iscon=1;
}
if(iscon==1)
continue;
else
{
num[i]=r;
i++;
}
}
if(i>8&is0) break;
}
return num;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
function Calc: string;
const
a = '12345678';
var
I: Integer;
J: Integer;
L: Integer;
T: Char;
begin
Randomize;
Result := a;
L := Length(Result);
for I := 1 to L do begin
J := Random(L) + 1;
T := Result[I];
Result[I] := Result[J];
Result[J] := T;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Caption := Calc;
end;
const
a = '12345678';
var
I: Integer;
J: Integer;
L: Integer;
T: Char;
begin
Randomize;
Result := a;
L := Length(Result);
for I := 1 to L do begin
J := Random(L) + 1;
T := Result[I];
Result[I] := Result[J];
Result[J] := T;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Caption := Calc;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呵呵,这个简单吧,判断一下,用一个随机函数,生成8位数字,然后和原来的数进行比较
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询