140 likes | 285 Views
题 1134 : 【 入门 】 字符统计 Description 输入一串 小写字母 ( 以‘ .’ 为结束标志 ) ,统计出每个字母在该字符串中出现的次数 ( 若某字母不出现,则不要输出 ) 。 要求:每行输出 5 项,每项以空格隔开。 Input 输入一行以 '.' 结束的字符串 Output 输出相应小写字母的个数。 Sample Input aaaabbbccc. Sample Output a:4 b:3 c:3. 按照形状计数. A[ ]. A[ ]. A[ ]. A[ ]. ch. a[‘a’]. a[‘b’]. ….
E N D
题1134:【入门】字符统计 Description 输入一串小写字母(以‘.’为结束标志),统计出每个字母在该字符串中出现的次数(若某字母不出现,则不要输出)。 要求:每行输出5项,每项以空格隔开。 Input 输入一行以'.'结束的字符串 Output 输出相应小写字母的个数。 Sample Input aaaabbbccc. Sample Output a:4 b:3 c:3
按照形状计数 A[ ] A[ ] A[ ] A[ ] ch
a[‘a’] a[‘b’] … a[‘z’] 0 0 0 var a:array['a'..'z'] of integer; i,ch:char; t:integer; begin fillchar(a,sizeof(a),0); read(ch); t:=0; while ch<>'.' do begin a[ch]:=a[ch]+1; read(ch); end; for i:='a' to 'z' do if a[i]<>0 then begin write(i,':',a[i],' '); inc(t); if t mod 5=0 then writeln; end; end. 2 1 3 1 1 aacda.
st:string;len,j:integer;i:char;a:array['a'..'z'] of integer;begin read(st); len:=length(st)-1; for i:='a' to 'z' do a[i]:=0; for i:= 'a' to 'z' do for j:=1 to len doif i=st[j] then a[i]:=a[i]+1;for i:='a' to 'z' do if a[i]<>0 then write(i,':',a[i],' ');end. 罗艺辰
字符串的操作 (一)字符串的运算和比较 由字符串的常量、变量和运算符组成的表达式称为字符串表达式。字符串运算符包括:1.+:连接运算符 例如:'Turbo '+'PASCAL'的结果是'Turbo PASCAL'。若连接的结果字符串长度超过255,则被截成255个字符。
2、关系运算符 =、〈〉、〈、〈=、〉、〉=:关系运算符两个字符串的比较规则为,从左到右按照ASCⅡ码值逐个比较,遇到ASCⅡ码不等时,规定ASCⅡ码值大的字符所在的字符串为大。 例如:‘AB’〈‘AC’结果为真;‘12’〈‘2’结果为真;‘21’>’2’结果为真 'PASCAL '='PASCAL' 结果为假;
4-27 设有n个正整数n<=20,将他们连接成一排,组成一个最大的多位整数。 例如:n=3 13 312 343 343 312 12 排序 for i:=1 to n-1 do for j:=i+1 to n do 比较 111 2 ‘2’ ‘111’ n =2 ’13’ +‘131’ <‘131’+’13’ 131 1313 131
4-27 设有n个正整数n<=20,将他们连接成一排,组成一个最大的多位整数。 例如:n=3 13 312 343 343 312 12 343 3 4 3 是否能一起读进去,然后分割下来?
以 年-月-日格式输入,要求分三行输出年、月、日 输入:1900-4-12 输出:1900 4 12 输入:10-12-5 输出:10 12 5
对输入的一句子实现查找且置换的功能。 分析:程序中,输入要查找的字符串及要置换的字符串,充分用上了字符串处理的标准过程delete、insert及标准函数pos。 程序如下: program ex8_5;var s1,s,o:string;i:integer;beginreadln(s1);readln(s);readln(o);i:=pos(s,s1);while i<>0 do begindelete(s1,i,length(s));insert(o,s1,i);i:=pos(s,s1);end;writeln(s1);end.
题1188:【基础】高精度加法 计算a+b的值,a,b 皆不超过240位。 Input 两个数 每行一个 Output 一个数 Sample Input 111111111111111111111111111111111111 222222222222222222222222222222222222 Sample Output 333333333333333333333333333333333333
program ex1188; var st1,st2:string; a,b:array[1..250] of integer; len1,len2,len,c,i:integer; begin readln(st1); len1:=length(st1); readln(st2); len2:=length(st2); for i:=1 to len1 do a[i]:=ord(st1[len1-i+1])-48; for i:=1 to len2 do b[i]:=ord(st2[len2-i+1])-48; if len1>len2 then len:=len1 else len:=len2; c:=0; for i:=1 to len do begin a[i]:=a[i]+b[i]+c; c:=a[i] div 10; a[i]:=a[i] mod 10; end; if c<>0 then write(c); for i:=len downto 1 do write(a[i]); end.