主题:关于字符串的一道题,请教
96131
[专家分:0] 发布于 2006-04-12 21:44:00
输入一行英文句子,句子中只有英文单词和空格。每个单词之间由若干个空格隔开,英文单词由大小写字母组成,统计此句子中的单词个数。
回复列表 (共8个回复)
沙发
haptis [专家分:1260] 发布于 2006-04-13 09:23:00
function TForm1.GetString(S: String): integer;
var
s1:String;
i,m,n:integer;
begin
s1:=s;
while pos(#32,s1)>0 do
begin
memo2.lines.add(copy(s1,1,pos(#32,s1)-1));
s1:=trim(copy(s1,pos(#32,s1)+2,length(s1)-pos(#32,s1)-1));
end;
result:=s1;
end; //自己参考下吧
end;
板凳
96131 [专家分:0] 发布于 2006-04-13 14:30:00
谢谢,我正在参考中
3 楼
96131 [专家分:0] 发布于 2006-04-13 14:32:00
可惜没有说明,凭本人的能力还是看不懂,谁能说的详细些
4 楼
贺天行宝 [专家分:2300] 发布于 2006-04-13 19:38:00
我来写
请问haptis
trim是什么意思? #32是不是空格?
var
a,b:char;
m:integer;
begin
b:=' ';m:=0;
while not eoln do
begin
read(a);
if (a<>' ')and(b=' ') then inc(m);
b:=a;
end;
writeln(m);
end.
5 楼
haptis [专家分:1260] 发布于 2006-04-14 14:14:00
那是我用delphi写的
是把单词取出来 放到memo里的 考虑是delphi写所以我没敢写全(见笑了,所以i,m,n都只申明了,没用)
trim是去除字符串头尾的空格
恩#32是空格
6 楼
96131 [专家分:0] 发布于 2006-04-14 15:11:00
贺天行宝:谢谢你,你帮我了好大的忙,不知道将来还能向你请教吗?再次谢谢
7 楼
dorremon1992 [专家分:870] 发布于 2006-04-18 16:37:00
当字符串输完时末尾再加个空格
单词个数就是空格数
8 楼
maxumi [专家分:2200] 发布于 2006-04-21 09:34:00
注意: 每个单词之间由若干个空格隔开!!
所以当单词之间有多个空格时,要把多余的去掉!
我来回复