一个串,长度为1到20,怎么判断该串由同一字符组成

解决方案 »

  1.   

    zfmich():你这样就不对了单循环可以?你实现看看
      

  2.   

    var 
       a : string;
       b : char;
       i : integer;
    begin
       a := getstr;   //得到串,这里只是便于理解逻辑
       b := a[1];
       for i:=2 to 20 do
       begin
           if a[i] <> b then
           begin
           result := false;
           break;
           end;
       end;
      

  3.   

    var
      s:string;
      p:PChar;
      i:integer;
    begin
      s:=Edit1.Text;
      GetMem(p,20);
      StrPCopy(p,s);
      For i:=1 to 19 do
        if p[i]<>p[0] then
        begin
          ShowMessage('不是同一个字符');
          Break;
        end;
      FreeMem(p,20)
      

  4.   

    var
      s:string;
      i:integer;
      notequal:boolean:
    begin
      s:=edit1.text;
      for i:=0 to length(s)-1 do
       if s[i]<>s[i+1] then
       begin
         notequal=true;
         break;  
      end;end;
      

  5.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      S: string;
    begin
      S := Edit1.Text;
      Caption := BoolToStr((S = '') or (S = StringOfChar(S[1], Length(S))), True);
    end;