欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    最新字符数组和字符串类型PPT课件.ppt

    • 资源ID:60177463       资源大小:2.28MB        全文页数:29页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    最新字符数组和字符串类型PPT课件.ppt

    字符数组和字符串类型字符数组和字符串类型数据类型数据类型简单类型简单类型子界类型子界类型枚举类型枚举类型用户自定义类型用户自定义类型标准类型标准类型字符串类型字符串类型布尔型布尔型实型实型整型整型指针类型指针类型过程类型过程类型对象类型对象类型文件类型文件类型记录类型记录类型数组类型数组类型集合类型集合类型构造类型构造类型 1、字符数组字符数组 无论数组的下标有几个,类型如何,数组元素的类型无论数组的下标有几个,类型如何,数组元素的类型必须相同。当数组元素的类型是字符型时,称为字符数组。必须相同。当数组元素的类型是字符型时,称为字符数组。如:如:type letter=array1.26 of char;var let:letter;或或:var let:array1.26 of char;例 按字母表顺序和逆序每隔一个字母打印。即打印出:a c e g i k m o q s u w y z x r v t p n l j h f d b程序如下:program ex5_15;var letter:char;begin for letter:=a to z do if(ord(letter)-ord(a)mod 2=0 then write(letter:3);writeln;for letter:=z downto a do if(ord(letter)-ord(z)mod 2=0 then write(letter:3);writeln;end.例在一个字符数组例在一个字符数组let中形成由中形成由a开始的连续开始的连续26个大写字母个大写字母构成的子串,并将其倒置后仍放在构成的子串,并将其倒置后仍放在let中。中。Program ex4_10;Var let,let2:array1.26 of char;ch:char;i:integer;Begin for i:=1 to 26 do begin leti:=chr(i+64);write(leti);end;writeln;for i:=1 to 26 do begin let2i:=let26-i+1;end;for i:=1 to 26 do write(leti);writeln;readln;End.例在一个字符数组例在一个字符数组let中形成由中形成由a开始的连续开始的连续26个大写字母个大写字母构成的子串,并将其倒置后仍放在构成的子串,并将其倒置后仍放在let中。中。Program ex4_10;Var let:array1.26 of char;ch:char;i:integer;Begin for i:=1 to 26 do begin leti:=chr(i+64);write(leti);end;writeln;for i:=1 to 13 do begin ch:=leti;leti:=let26-i+1;let26-i+1:=ch;end;for i:=1 to 26 do write(leti);writeln;readln;End.2、字符串类型、字符串类型 字符串常量是其值为一对撇号之间的字符序列,字符串常量是其值为一对撇号之间的字符序列,但不包括撇号;但不包括撇号;一个字符串里包含的字符个数称为字符串的长度;一个字符串里包含的字符个数称为字符串的长度;当两个撇号之间不含任何字符时,称为空串,长度为当两个撇号之间不含任何字符时,称为空串,长度为0。如:如:writeln(Input number:);字符串类型和字符数组类型相同点:字符串类型和字符数组类型相同点:都靠下标引用其中的元素(字符),都可以被读写、赋值或都靠下标引用其中的元素(字符),都可以被读写、赋值或 当作过程或函数的形参。当作过程或函数的形参。字符串类型和字符数组类型不同点:字符串类型和字符数组类型不同点:字符串中的字符个数(即字符串长度)可以从字符串中的字符个数(即字符串长度)可以从0到所指出的到所指出的上限间动态变化,而数组元素的个数是固定不变的;上限间动态变化,而数组元素的个数是固定不变的;内存中存储的方式不同。内存中存储的方式不同。(1)、字符串类型的定义、字符串类型的定义string长度长度;其中:其中:String为保留字,整型常量指明了字符串的最大长度,为保留字,整型常量指明了字符串的最大长度,其值不能超过其值不能超过255。注:当长度值及其外方括号省略时,稳含表示长度为注:当长度值及其外方括号省略时,稳含表示长度为255。例:例:type filename=string20;texline=string80;var name1,name2:filename;book1,book2:texline;字符串变量在内存中所占的空间是它的最大长度加字符串变量在内存中所占的空间是它的最大长度加1个字节。个字节。第一个字节用来存放所给字符串变量的实际有效长度(第一个字节用来存放所给字符串变量的实际有效长度(=最小长度),最小长度),可用零下标访问。可用零下标访问。以上最大长度分别为以上最大长度分别为20、80个字符。个字符。(2)、字符串运算、字符串运算(1)利用字符串运算符)利用字符串运算符 主要是“+”:如:good+morninggood morning(2)关系运算:)关系运算:,=,字符串比较,是从左到右逐个比较两个字符串中每个字符 的ASCII码值,直到找到不相同的为止。ASCII大的值就大。如:ASC=ASC ASCASCII ABCABCD STUNDSTUDENT 321(4)字符串过程和函数)字符串过程和函数http:/192.168.1.91 1、length(st)length(st)返回串的长度,结果为整型。返回串的长度,结果为整型。返回串的长度,结果为整型。返回串的长度,结果为整型。2 2、Pos(st1,st2)Pos(st1,st2)在在在在st2st2中查找中查找中查找中查找st1st1的起始位置,找到则返回该位置值,否则的起始位置,找到则返回该位置值,否则的起始位置,找到则返回该位置值,否则的起始位置,找到则返回该位置值,否则返回值为返回值为返回值为返回值为0 0。3 3、Str(value,st)Str(value,st)过程,将数过程,将数过程,将数过程,将数valuevalue转化为数字串转化为数字串转化为数字串转化为数字串st st。4 4、val(st,value,code)val(st,value,code)过程,将数字串过程,将数字串过程,将数字串过程,将数字串st st转化为数转化为数转化为数转化为数value,codevalue,code返回检测出错返回检测出错返回检测出错返回检测出错的第一个字符位置,未出错时返回的第一个字符位置,未出错时返回的第一个字符位置,未出错时返回的第一个字符位置,未出错时返回0 0。5 5、copy(st,pos,num)copy(st,pos,num)函数,在函数,在函数,在函数,在st st串中从串中从串中从串中从pospos位置开始顺序截取长度为位置开始顺序截取长度为位置开始顺序截取长度为位置开始顺序截取长度为numnum的字串,其结果为字符串类型。的字串,其结果为字符串类型。的字串,其结果为字符串类型。的字串,其结果为字符串类型。如:如:如:如:x:=length(abc de)x:=length(abc de)St1:=are;st2=You are a student.;St1:=are;st2=You are a student.;X:=Pos(st1,st2);X:=Pos(st1,st2);X X的值为的值为的值为的值为6 6X X的值为的值为的值为的值为5 5Value:=375.2;Value:=375.2;Str(value,st);Str(value,st);StSt为为为为375.2375.2St:=327.2ab01;St:=327.2ab01;Val(st,value,code);Val(st,value,code);ValVal为为为为327.2327.2 CodeCode为为为为6 6St:=you are a stduent.;St:=you are a stduent.;Pos:=1;num:=4;ch:=copy(st,pos,num);Pos:=1;num:=4;ch:=copy(st,pos,num);ChCh为为为为you you 例例4.12 随机输入一些国家的英文名字,以随机输入一些国家的英文名字,以end作为输入结束标志,作为输入结束标志,按字母顺序排序后输出。按字母顺序排序后输出。Program ex4_12;Const n=100;Var a:array1.n of string30;i,j,m,b:integer;k:string30;Begin m:=0;writeln(Input country name:);repeat m:=m+1;readln(am);until am=end;For i:=1 to m-2 do for j:=i+1 to m-1 do if aiaj then begin k:=ai;ai:=aj;aj:=k;end;writeln(output:);For i:=1 to m-1 do Writeln(ai);Writeln(*end*);Readln;End.作业随机输入一个长度不超过的字符串,使用copy,delete,insert函数将其倒置后输出例例:求求n个字符串的最长公共子串,个字符串的最长公共子串,n20,字符长度不超过,字符长度不超过255。如:如:n=3,由键盘依次输入三字符串为,由键盘依次输入三字符串为 what is local bus?name some local bus.local bus is high speed I/O bus close to the processor.则最长公共子串为则最长公共子串为“local bus”算法分析:算法分析:(1)公共子串只有存在或不存在两种可能,用布尔变量处理;公共子串只有存在或不存在两种可能,用布尔变量处理;(2)先设第一个子串为母串,即子串先设第一个子串为母串,即子串1母串母串1,长度为,长度为k,则利用则利用pos函数去检测子串函数去检测子串1是否为公共子串,若是则结束,是否为公共子串,若是则结束,否则,取子串否则,取子串1的两个长度为的两个长度为k1,k2的子串,的子串,重复上面的操作,重复上面的操作,直到找到公共子串或长度为直到找到公共子串或长度为0的公共子串。的公共子串。(3)考虑特殊情况,即仅输入一个子串的时候。考虑特殊情况,即仅输入一个子串的时候。输入一行字符,包含若干个单词。约定相邻的两个单词用空格隔输入一行字符,包含若干个单词。约定相邻的两个单词用空格隔输入一行字符,包含若干个单词。约定相邻的两个单词用空格隔输入一行字符,包含若干个单词。约定相邻的两个单词用空格隔开,编程统计单词的个数。开,编程统计单词的个数。开,编程统计单词的个数。开,编程统计单词的个数。分析:将所有字符存储在一个字符串中,然后对字符扫描,并对空格字符分析:将所有字符存储在一个字符串中,然后对字符扫描,并对空格字符分析:将所有字符存储在一个字符串中,然后对字符扫描,并对空格字符分析:将所有字符存储在一个字符串中,然后对字符扫描,并对空格字符进行判断,从而统计其中单词的个数。进行判断,从而统计其中单词的个数。进行判断,从而统计其中单词的个数。进行判断,从而统计其中单词的个数。先用先用先用先用lengthlength函数取得字符串的长度,然后再进行扫描。函数取得字符串的长度,然后再进行扫描。函数取得字符串的长度,然后再进行扫描。函数取得字符串的长度,然后再进行扫描。Program ex6-12(input,output);Program ex6-12(input,output);var st:string;var st:string;ch1,ch2:char;ch1,ch2:char;I,L,num:integer;I,L,num:integer;begin begin readln(st);readln(st);L:=length(st);L:=length(st);求求求求st st实际长度实际长度实际长度实际长度 I:=1;num:=0;num I:=1;num:=0;num记录单词个数,记录单词个数,记录单词个数,记录单词个数,I I记录扫描位置记录扫描位置记录扫描位置记录扫描位置 while I=L do while I=L do begin begin while stI=do I:=I+1;while stI=do I:=I+1;跳过空格跳过空格跳过空格跳过空格 if I=L then num:=num+1;if I=L then num:=num+1;找到新单词,单词数加找到新单词,单词数加找到新单词,单词数加找到新单词,单词数加11 while(stI)and(I=L)do I:=I+1;while(stI)and(I=L)do I:=I+1;指针移到单词后的空格指针移到单词后的空格指针移到单词后的空格指针移到单词后的空格 end;end;writeln(total:,num);writeln(total:,num);end.end.输入两个整数输入两个整数输入两个整数输入两个整数x x、y y,输出它们的和。,输出它们的和。,输出它们的和。,输出它们的和。(0=x,y=10100)(0=x,y=10100)分析:题目中给出的分析:题目中给出的分析:题目中给出的分析:题目中给出的X X、Y Y的范围远超过了整数、实数的最大范围,故的范围远超过了整数、实数的最大范围,故的范围远超过了整数、实数的最大范围,故的范围远超过了整数、实数的最大范围,故只能采用字符串来进行处理。为便于相加,将各数位存储在整数数组只能采用字符串来进行处理。为便于相加,将各数位存储在整数数组只能采用字符串来进行处理。为便于相加,将各数位存储在整数数组只能采用字符串来进行处理。为便于相加,将各数位存储在整数数组X X、Y Y中。中。中。中。Program ex6_13(input,output);var st:string;x,y:array0.101 of integer;I,j,l1,l2:integer;begin write(x=);read(st);l1:=length(st);for I:=0 to 101 do xI:=0;for I:=l1 downto 1 do xl1-I:=ord(stI)-ord(0);write(y=);read(st);l2:=length(st);for I:=0 to 101 do yI:=0;for I:=l2 downto 1 do yl1-I:=ord(stI)-ord(0);if l1l2 then l1:=l2;for I:=0 to l1 do begin xI:=xI+yI;xI+1:=xI+1+xI div 10;进位 xI:=xI mod 10;end;write(x+y=);j:=101;while xj=0 do j:=j-1;找第一个有效数位 for I:=j downto 0 do write(xI:1);输出End.例 数字合并问题描述:设有n个正整数(nB,一般情况下有A+BB+A,但是当A=B+C时,按字符串的大小定义有AB,些时有可能出现A+BB+A的情况,如A=121,B=12,则A+B=12112,B+A=12121,A+BB,按这一定义将所有的数字字符串从大到小排序后连接起来所得到的数字字符串即是问题的解。排序时先将所有字符串中的最大值选出来存在数组的第一个元素中,再从第二至最后一个元素中最大的字符串选出来存在数组的第二个元素中,直到从最后二个元素中选出最大的字符串存在数组的倒数第二个元素中为止。program example2_7;const maxn=20;type stringtype=string80;var i,j,n:integer;temp:stringtype;num:array 1.maxn of longint;digitstr:array1.maxn of stringtype;begin write(Input n:);readln(n);write(Input,n,integer data(0):);for i:=1 to n do read(numi);readln;for i:=1 to n do digitstri:=;for i:=1 to n do while numi0 do begin digitstri:=chr(ord(0)+numi mod 10)+digitstri;numi:=numi div 10 将数转换成字符串 end;for i:=1 to n-1 do for j:=i+1 to n do if digitstri+digitstrj0):121 21 3 321121Input n:4Input 4 integer data(0):13 24 75 42 75422413Input n:4Input 4 integer data(0):1341 133 1321 37 3713411331321Input n:6Input 6 integer data(0):321 32 407 135 13 217 4073232121713513结束语结束语谢谢大家聆听!谢谢大家聆听!29

    注意事项

    本文(最新字符数组和字符串类型PPT课件.ppt)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开