临清房产网二手房出售:pascal求助:是关于字符串数组的!

来源:百度文库 编辑:神马品牌网 时间:2024/05/08 11:48:35
写一个程序:输入全班n(n<50)位同学用拼音表示的姓名,检查班中是否存在姓名拼音相同的同学。若存在姓名拼音相同的同学,则列表输出这些拼音及重复出现的次数.
非常感谢!

Program Ex;
Var
a: Array[1..50]Of String;
sum, n, i, jump: Integer;
temp: String;
f: Boolean;

Begin
{输入}
ReadLn(n);
For i:=1 To n Do ReadLn(a[i]);
{以下是希尔排序}
jump := n Div 2;
While jump > 1 Do Begin
f := True; {标记}
For i:=1 To n-jump Do
If a[i] > a[i+jump] Then Begin
f := False;
temp := a[i];
a[i] := a[i+jump];
a[i+jump] := temp;
End;
If f Then jump := jump Div 2;
End;
For i:=2 To n Do Begin
sum := 1;
If a[i] = a[i-1] Then
Inc(sum)
Else If sum <> 1 Then Begin
WriteLn(a[i-1], ' ', sum);
sum := 1;
End;
End;
ReadLn;
End.

希望你能看懂,如果不能就用百度消息告诉我
还有,你能不能加点分呢?(嘻嘻,脸皮太厚了)