您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > Pascal经典字符串操作教程
08集训队讲稿谷老师串是由零个或多个字符组成的有限序列。一个串中包含的字符个数称为这个串的长度。长度为零的串称为空串,它不包含任何字符。串运算08集训队讲稿谷老师1.连接运算——函数concat(s1,[,s2,…,sn]):其中值参s1,‥,sn为string类型,函数值为string类型。若连接后的串长大于255,则自动截断超出部分。2.求子串——函数copy(s,i,l):其中值参s为string类型,i和l为integer类型。函数返回s串中第i个字符开始、长度为l的子串(string类型)。若i大于s的长度,则回送一个空串;若l大于第i个字符开始的余串长度,则仅回送余串。3.删子串——过程delete(vars,i,l):其中变量参数s为string类型,值参i、l为ingteger类型。该过程删去s中第i个字符开始的长度为l的子串,并返回剩余串s。若i大于原串s的长度,则不删任何字符;若l大于第i个字符开始的余串长度,则删去余串。在串运算中充分利用系统的库函数08集训队讲稿谷老师4.插入子串——过程insert(s1,vars,i):变量参数s为string类型,值参s1为string类型。该过程将s1子串插入空串s的第i个字符位置处,并返回插入后的结果s。若插入后s的串长大于255个字符,则截断超出部分。5.求串长——函数length(s):值参s为string类型。该函数返回s串的实际长度值(integer类型)。6.搜索子串位置——函数pos(s1,s2):值参s1和s2为string类型。若s1是s2的一个子串,则返回s1中第1个字符在s2串中的位置(integer类型);若s1非s2的一个子串,则返回0。7.数值转换为数串——过程str(x,vars):值参x为integer类型或real类型,变量参数s为string类型。该过程将返回数值x对应的数串s。8.数串转换为数值——过程val(s,varv,varc):值参s为string类型,变量参数v为integer类型或real类型,变量参数c为integer类型。该过程试将s串转换成数值v。若转换成功,则c为0,并返回对应的数值v;否则c为无效字符的序数。9.字符的大写转换——函数upcase(ch):值参ch为char类型。该函数返回ch字符的大写体(char类型)08集训队讲稿谷老师实例一:数码排序设有n个正整数,将他们连接成一排,组成一个最大的多位整数.例如:n=3时,3个整数13,312,343,连成的最大整数为:34331213。又如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。程序输入:NN个数程序输出:连接成的多位数08集训队讲稿谷老师实例二:字符串编辑从键盘输入一个字符串(长度≤40个字符),并以字符’.’结束.例如:’Thisisabook.’,现对该字符串进行编辑,编辑功能有:D:删除一个字符,命令的方式为:Da。其中a为被删除的字符。例如:Ds表示删除字符’s’,若字符串中有多个’s’,则删除第一次出现的,如上例中删除的结果为’Thiisabook.’I:插入一个字符,命令的格式为:Ia1a2。其中a1表示插入到指定字符前面,a2表示将要插入的字符。例如:Isd表示在指定字符’s’的前面插入字符’d’,若原串中有多个’s’,则插入在最后一个字符的前面。如上例中,原串:’Thisisabook.’,插入后:’Thisidsabook.’R:替换一个字符,命令格式为:Ra1a2。其中a1为被替换的字符,a2为替换的字符,若在原串中有多个a1,则应全部替换。例如:原串:’Thisisabook.’。输入命令:Roe,替换后:’Thisisabeek.’。在编辑过程中,若出现被指定的字符不存在时,则给出提示信息08集训队讲稿谷老师实例三:字符近似查找设有n个单词的字典表(1≤n≤100)。计算某单词在字典表中的四种匹配情况(字典表中的单词和待匹配单词的长度上限为255):i:该单词在字典表中的序号;Ei:在字典表中仅有一个字符不匹配的单词序号;Fi:在字典表中多或少一个字符(其余字符匹配)的单词序号;N:其他情况当查找时有多个单词符合条件,仅要求第一个单词的序号即可。输入文件输入文件名为a.in,文件的格式如下:n(字典表的单词数)n行,每行一个单词待匹配单词08集训队讲稿谷老师思考题的程序可发送至:E-mail:guxiaoh@masedu.cn或则写在竞赛网中程序流言板中,并及时和老师沟通.Thankyou!
本文标题:Pascal经典字符串操作教程
链接地址:https://www.777doc.com/doc-2885337 .html