0

有一个用户列表。需要输入一个字符,找到所有名字以这个字符开头的用户。

!!!以下任务嵌入谓词转换符号和行不使用。

4

1 回答 1

0

你可以这样做:

name_starting_with(C, Name) :-   % Names that start with C
    char_code(C, CC),         % Get the character code for C
    name([CC|T]),             % Query names that start with C (code CC)
    atom_codes(Name, [CC|T]). % Convert the found character codes to an atom

在回溯时,这应该返回每个匹配的名称,直到不再有。

char_code/2并且atom_codes/2是 ISO 谓词,但我不知道 Turbo Prolog 是否支持它们。

于 2014-02-18T03:28:43.890 回答