主题:怎样计算字符串中的英文字母的个数
wuyongyi
[专家分:0] 发布于 2007-11-15 08:53:00
已经完成一部分,但表达式不知道该怎样写,请教各位大侠。
var st:string;
Cd,k,Zs:integer;
begin
Readln(st);
cd:=length(st);
for k:=1 to cd do
if [u] [/u] then
Zs:=zs+1;
writeln(zs)
end.
回复列表 (共13个回复)
11 楼
wuyongyi [专家分:0] 发布于 2007-11-29 20:12:00
不对呀,我已经输入了,是在运行程序后,在输入字母按回车后才出现的错误提示。
12 楼
angwuy [专家分:2280] 发布于 2007-11-29 20:16:00
算了,改一下,防止以外情况发生:
var
c:array['a'..'z']of integer;
st:string;
i:integer;
ch:char;
begin
fillchar(c,sizeof(c),0);
readln(st);
i:=1;
repeat
if st[i] in ['a'..'z'] then
inc(c[st[i]]);
inc(i);
until (st[i]='.')or(i=length(st));
for ch:='a' to 'z' do
if c[ch]>0 then write(ch,':',c[ch],' ');
writeln;
end.
13 楼
wuyongyi [专家分:0] 发布于 2007-11-29 21:48:00
谢谢,这样修改后能行。
我来回复