《字符与字符串》PPT课件

上传人:wuy****ng 文档编号:252946017 上传时间:2024-11-26 格式:PPT 页数:28 大小:217.99KB
返回 下载 相关 举报
《字符与字符串》PPT课件_第1页
第1页 / 共28页
《字符与字符串》PPT课件_第2页
第2页 / 共28页
《字符与字符串》PPT课件_第3页
第3页 / 共28页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,字符与字符串,东城八小 李计绸,字符型用char作为标识符。字符型必须用单引号括起来,字母作为字符型时,大小写是不等价的,并且字符型只允许单引号中有一个字符,否则就是字符串。,Var a:char;,a:=b;,a:=B;,a:=2;,一、字符型,知识点:,1、字符的ASCII码(序号):一一对应关系,字符,0,1,2,3,4,5,6,7,8,9,ASCII,48,49,50,51,52,53,54,55,56,57,字符,A,B,C,Z,ASCII,65,66,67,90,字符,a,b,c,z,ASCII,97,98,99,122,、函数:ord(x)chr(x),)、ord(x):返回字符x的ASCII码。,i:=ord(A);j:=ord(B);n:=ord(1);write(I,j,n);65 66 49,)、chr(x):返回ASCII码为x的字符。,var a:char;,a:=chr(98);writeln(a);,write(chr(97);,3、字符大小的比较(相应字符ASCII码大小的比较):,ASCII码大的字符大。,ba 51 aA,4、数字字符转换为相应的数字的方法。,var x:char;,a:integer;,x:=3;,a:=ord(x)-48;,练习题目:,从键盘上输入一串字符(可能含数字、小写字母),以#作为输入结束标志。,编程完成:,统计输入字符中每个小写字母出现的次数(没有出现的不输出)。,样例:,输入:,2bcdaab33wycc#,输出:,a 2,b 2,c 3,d 1,w 1,y 1,算法一:,var ch:char;,n,i:integer;,a:array1.26 of integer;统计字母出现的次数,begin,for i:=1 to 26 do ai:=0;,read(ch);,while ch#do,begin,if(ch=a)and(ch0 then writeln(chr(i+96),ai);,end.,var ch:char;,n,i:integer;,a:array97.122 of integer;统计字母出现的次数,begin,for i:=97 to 122 do ai:=0;,read(ch);,while ch#do,begin,if(ch=a)and(ch0 then writeln(chr(i),ai);,end.,算法二:,算法三:,var ch:char;,n,i:integer;,a:arraya.z of integer;统计字母出现的次数,begin,for ch:=a to z do ach:=0;,read(ch);,while ch#do,begin,if(ch=a)and(ch0 then writeln(ch,ach);,end.,字符串用于存放批量字符的一串字符。,Var:a:string;,或Var:a:stringn;,A:=hello,其中正整数n(1=n12325,123451234,456123456,6、数字串转化为数值型,两种方法:,一、过程 val,二、直接转化,1、输入一个正整数n(10,250,),求它的各位数字之和S。,var,n:string;,s,k,i:integer;,begin,readln(n);,k:=length(n);,s:=0;,for i:=1 to k do s:=s+ord(ni)-48;,writeln(s);,end.,字符串应用举例:,2、编写一个程序,统计从键盘输入的n(100)个英文单词中以c开头的单词,并输出个数。,样例:,输入:,4,an,cat,bee,Cow,输出:,cat,Cow,2,var a:array1.100 of string;,记录输入的单词,n,i,s:integer;,begin,readln(n);,输入单词个数,for i:=1 to n do,输入单词,readln(ai);,s:=0;,记录单词中一c开头的数目,for i:=1 to n do,if(ai,1=c)or(ai,1=C)then,begin,s:=s+1;,累加,writeln(ai);,输出以c开头的单词,end;,writeln(s);,end.,3、编程验证一个数是不是是回文数(10,250,)(一个数的第一位和倒数第一位相同,第二位和倒数第二位相同如:13531,3443)。,样例:,输入:,输出:,no,var,a:string;,n,i,len:integer;,yn:boolean;,begin,readln(a);,len:=length(a);,n:=len div 2;,yn:=true;,for i:=1 to n do,if aialen+1-i then,begin yn:=false;break;end;,if yn then writeln(yes)else writeln(no);,end.,方法一,var a:string;,i,j,k:integer;,begin,readln(a);,k:=length(a);,i:=1;j:=k;,while(ai=aj)and(i=j then writeln(yes),else writeln(no);,end.,方法二,4、完成计算器功能:完成30000以内的正整数加法运算。,样例:输入:130+100,输出:230,算法:,1)找到+的位置k。,2)将运算符前的字符转化为数值a,运算符后的字符串转化为b。,3)求a+b的值。,var,a,b,k,c:integer;ab:longint;,s:string;,begin,readln(s);,k:=pos(+,s);,val(copy(s,1,k-1),a,c);,val(copy(s,k+1,length(s)-k),b,c);,ab:=a+b;,writeln(ab);,end.,过程:val(s,a,c)中,c只能是整型数,如果转化成功:c=0。a可以是实数也可以是整数.,Val(12.6,a,c);a:=12.6,方法一,var,a,b,k,c,n,i:integer;ab:longint;,s:string;,begin,readln(s);,k:=pos(+,s);,n:=length(s);,a:=0;,for i:=1 to k-1 do a:=a*10+ord(si)-48;,b:=0;,for i:=k+1 to n do b:=b*10+ord(si)-48;,ab:=a+b;,writeln(ab);,end.,方法二,5、编程完成30000以内的正整数的+、-、*、/一种运算,只含一个运算符号。,样例:输入:130*100,输出:13000,var,a,b,k,c,len:integer;,s:string;,op:char;,begin,readln(s);,len:=length(s);,for k:=1 to len do,if not(sk=0)then break;,op:=sk;,val(copy(s,1,k-1),a,c);,val(copy(s,k+1,length(s)-k),b,c);,case op of,+:writeln(a+b);,-:writeln(a-b);,*:writeln(a*b);,/:if b=0 then writeln(no answer),else writeln(a/b:0:2);,end;,end.,6、删数问题,键盘输入一个正整数,去掉其中任意个数字后剩下的数字按原左右次序将组成一个新的正整数。编程对给定的和,寻找一种方案使得剩下的数字组成的新数最小。(不超过位),输入:两行,第一行:正整数n,第二行:正整数S。,输出:n去掉的s个数字后组成的新的最小的正整数m。,样例:,输入:123006,2,输出:1006,428760005,4,672397104,5,40002876,2,12145789,4,每一次删除的一个数字都是从首位开始的最长连续上升序列的最末位数字。,var n:string;,s,i:integer;,begin,readln(n);输入数字,read(s);输入删除的数字个数,while s0 do,begin,i:=1;,while(ilength(n)and(ni1)and(n1=0)do delete(n,1,1);删除处理后开头的0,并保证n不为空,writeln(n);,end.,练习一,编成实现:同时含有多个+、-运算符的表达式求值。,如:,输入:,45+5-4+10,输出:,56,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!