pascal 求助

var
a:array[1..26,1..1000] of string;
b:array[1..1000] of string;
ch1,ch2:char;
i,j,k,n:longint;
s:string;
p:0..1;
begin
readln(s);
for i:=1 to 26 do
a[i,1]:=s[i];
read(n);
for n:=1 to n do
readln(b[n]);
read(p);
k:=1;
for i:=1 to 26 do
for j:=1 to 1000 do
begin
ch1:=a[i,1][1];
ch2:=b[j][1];
if ord(ch1)=ord(ch2) then
begin
k:=k+1;
a[i,k]:=b[j];
end;
end;
if p=1 then
begin
for i:=1 to 26 do
for j:=2 to 1000 do
if a[i,j]<>'' then writeln(a[i,j]);
end
else
begin
for i:=26 downto 1 do
for j:=2 to 1000 do
if a[i,j]<>'' then writeln(a[i,j]);
end;
end.
错在哪?基本思想桶排序

1 条评论

  • @ 2017-09-26 21:50:46

    笨笨的单词排序
    描述

    笨笨有一些单词,他想要把这些单词按一定顺序排序。
    现在笨笨有N(N<=1000)个单词,他想要你按笨笨的字典序把这些单词顺序或逆序排列好来。
    输入笨笨的字典序以及他所要排序的单词和他所要的排序方式(顺序或逆序,顺序用1表示,逆序用0表示)。
    请你把排好的单词输出,每个单词长度不超过255个字符,中间没有空格。
    格式

    输入格式

    第一行,一个长度为26的字母不重复的字符串,表示笨笨的字典序(26个字母全齐)。
    第二行一个数N。
    接下来N行,每行一个单词。
    最后一行是笨笨所想要的排序方式。
    输出格式

    输出共N行,表示排好序的单词。输出每行一个单词。
    样例1

    样例输入1

    abcdefghijklmnopqrstuvwxyz
    2
    big
    small
    1
    Copy
    样例输出1

    big
    small

  • 1

信息

ID
1500
难度
6
分类
字符串 | 其他 | 排序 点击显示
标签
递交数
2884
已通过
721
通过率
25%
被复制
3
上传者