怎样从26个英文字母中随机输出两个不同(必须不同)字母,那位大虾帮帮忙,小弟不胜感谢!!

解决方案 »

  1.   

    第一个参数字符串指针,第二个参数是输出字符串的长度如果再要两个字母一定不一样的话
    那就需要再加入一个新的判断吧,前两天写的一个函数,用来输出15位随机生成的字符串bool RandomString(char* RandomString,int StringLength)
    {
       char CharSum[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
       randomize();
       int Inti=0;
       for( ;Inti<StringLength;Inti++)
            {
               RandomString[Inti]=CharSum[random (strlen(CharSum))];
            }
       RandomString[Inti]='\0';
       
       return  true;     
    }
      

  2.   

    我晕,原来是D区function RandomString(RandomString:Strings;StringLength:Integer):boolean
    var
    CharSum:String;
    Inti :Integer;
    begin
       CharSum:='ABCDEFGHIJKLMNOPQRSTUVWXYZ';
       randomize( );   for Inti:=0 TO StringLength-1 do
            begin
               //如果要两个字母不相同的话,可以比较一下随机数,这个小问题留给楼主解决
               RandomString[Inti]=CharSum[random (strlen(CharSum))];
            end;   RandomString[Inti]='\0';  //DELPHI的字符串结束符是啥来着?好象是#0
       
      Result:=true;     end;
    如果对楼主有用的话,一定要结贴啊,我把BCB转到D我容易嘛我 哈哈
      

  3.   

    function RandomString():string;
    const str='ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    var i, i1:integer;
    begin
      randomize;
      i:= random(25);
      repeat
        i1:= random(25);
      until i1<>i;
      Result:=str[i]+str[i1];
    end;