【发布时间】:2020-11-02 01:50:50
【问题描述】:
我正在尝试在 Pascal 中查找给定字符串中的单词数?
这是我的初学者代码:
Program P1;
var s:string;
i,k:integer;
begin
write('Enter a string: '); readln(s);
k:=0;
for i:=1 to length(s) do
begin
if(s[i] = ' ') then k:=k+1;
end;
write('Number of words ', k);
end.
【问题讨论】:
-
这是怎么失败的?您是否尝试过“桌面检查”您的代码,假装自己是一台愚蠢的计算机,并以计算机的方式执行程序的每一步?
-
@JeffZeitlin 事情,程序仅在找到空格字符时才计数,例如,如果我有字符串“我有 4 个苹果”,则总计数单词将为 3,因为只有 3 个空格
-
那么也许你需要做的是 (a) 改进你如何定义一个词,并且 (b) 弄清楚你可以做些什么来解释一个不以空格结尾的词。这两个问题实际上是密切相关的。
-
您可能会发现Regular Expressions 和this StackOverflow question 很有用。
标签: pascal freepascal turbo-pascal