用PASCAL做!读入一英文句子,单词之间用空格或逗号隔开,统计其中单词个数,并输出各个字母出现的频率。

来源:百度知道 编辑:UC知道 时间:2024/05/31 14:44:16
读入一英文句子,单词之间用空格或逗号隔开,统计其中单词个数(末尾不一定用.结束) 如果含有其他的字符,要求输出错误信息及错误类型。
有大写字母 错误类型 error 1
数字 错误类型 error 2
其他非法字符 错误类型 error 3
如 输入It is 12!
输出error 1 2 3
输入i am ,a student
输出4
有没有正确的?里面都是错,我都看不懂饿。555~

回答时间仓促,如有疏漏,在所难免!
progarm ex_001;
var a:array[1..10000] of string;
i,j,k,m,n:integer;
s:string;
begin
m:=1;
n:=1;
read(s);
while not s='#' do
begin
a[m]:=s;
m:=m+1;
end;
for i:=1 to 1000 do
begin
if (ord(a[i])>=65 and ord(a[i]<=90) then
begin
writeln('Error 1',i);
break;
end
else if (ord(a[i])>=48) and (ord(a[i])<=57) then
begin
writeln('Error 2',i);
break;
end
else if a[i]='#' then
begin
break;
n:=n+1;
end
else
if a[i]=' ' then n:=n+1;
end;
write('单词个数:',n);
end.