2011-05-29 94 views
-1


我相信這個問題很清楚。
那麼,如何通過pascal中的第一個字符串來排序字符串?
因爲據我所知pascal沒有本地排序功能,應該有一種方法可以將字母轉換爲數字,然後對它們進行排序......無論如何,這只是猜測。
感謝提前答案;)如何通過pascal中的第一個字符對字符串進行排序?

+1

那你希望發生的事情,如果第一個字符是相同的嗎?什麼樣的字符串(ansi,utf16,...)?哪個實現pascal? – CodesInChaos 2011-05-29 12:31:16

+0

如果第一個字符匹配,那麼將它排序爲第二個可選字符將會很好。 Ansi字符串類型會做。如果我理解你的最後一個問題,那麼答案應該是:我正在使用Turbo Pascal。 – Povylas 2011-05-29 12:43:00

+0

你想要什麼樣的字符排序?按順序,還是更花哨的東西? – CodesInChaos 2011-05-29 12:43:54

回答

2
program test; 

var 
    nr:Integer; 
    mystrings:array [0..100] of string; 
    i:Integer; 
    tmp,tmp2,tmp3:String; 
begin 
    WriteLn('Please input number of strings'); 
    ReadLn(nr); //max 100 strings 
    for i:=0 to nr - 1 do 
    begin 
     str(i,tmp3); 
     Write('String['+tmp3+'] = ');ReadLn(mystrings[i]); 
    end; 

    // Now we sort the strings 

    i:=0; 
    repeat 
    tmp:=UpperCase(mystrings[i]); 
    tmp2:=UpperCase(mystrings[i+1]); 
    if tmp[1]>tmp2[1] then 
    begin 
     tmp:=mystrings[i]; 
     mystrings[i]:=mystrings[i+1]; 
     mystrings[i+1]:=tmp; 
     i:=-1; 
    end; 
    Inc(i); 
    until i=nr -1 ; 

    //Display strings sorted 
    for i:=0 to nr - 1 do 
    begin 
     WriteLn(mystrings[i]); 
    end; 
    Readln; 
end. 

希望它幫助;)

+1

哇!真正令人驚訝的是,字符串實際上是可以輕鬆地相互比較的字符數組。謝謝! – Povylas 2011-05-29 15:22:43

相關問題