回 帖 发 新 帖 刷新版面

主题:怎样计算字符串中的英文字母的个数

已经完成一部分,但表达式不知道该怎样写,请教各位大侠。
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 楼

不对呀,我已经输入了,是在运行程序后,在输入字母按回车后才出现的错误提示。

12 楼

算了,改一下,防止以外情况发生:
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 楼

谢谢,这样修改后能行。

我来回复

您尚未登录,请登录后再回复。点此登录或注册