输入一个字符串,求出里面出现最多的一个字符,并输出出现的次数

TurboPascalFreePascal语言都行,不要C语言... Turbo Pascal
Free Pascal
语言都行,不要C语言
展开
 我来答
871629510
2012-05-30 · TA获得超过391个赞
知道小有建树答主
回答量:220
采纳率:100%
帮助的人:91.1万
展开全部
program ex;
var
st:string;
l,k,i,j,t:integer;
st1:array[1..100] of char;
a:array[1..100] of integer;
tt:char;
flag:boolean;
begin
readln(st);
l:=length(st);
k:=0;
for i:=1 to l do
begin
for j:=1 to k do
if st[i]=st1[j] then begin flag:=true;a[j]:=a[j]+1;end;
if flag=false then begin k:=k+1;st1[k]:=st[i];a[k]:=a[k]+1;end;
end;
for i:=1 to k-1 do
for j:=i+1 to k do
if a[i]<a[j] then
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
tt:=st1[i];
st1[i]:=st1[j];
st1[j]:=tt;
end;
writeln(st1[1],' ',a[1]);
end.
追问
可以把每一个步骤解释一下吗?谢谢!
追答
思路:输入一个字符串,先用函数length求出该字符串的函数。
下一步,用一个数组,用for进行扫描,将扫描到的字符存入数组里面,相同的就不用存入数组了。在扫描的同时,统计它们的出现次数。
最后将次数进行排序,这样就OK了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式