信息学竞赛Pascal语言 数组与字符串(五)(3)
字符串
1.字符串用于存放整批的字符数据。通常编程中使用字符串存放字符化了的数字数据。如高精度运算时存放操作数和运算结果。字符串可以看作是特殊的字符串数组来处理。当然,它也有自已的特点。下面是字符串定义的格式:
var
s:string;s1:string[15];
字符串定义时,如不指定长度,则按该类型的最大长度(255个字符)分配空间,使用时最大可用长度为255个;如果在中括号中给出一个具体的值(1—255之间),则按这个值的大小分配空间。使用时,最大的可用长度即为该值。
2.字符串的输入、输出:
字符串类型既可按数组方式输入、输出,也可直接输入、输出:readln(s);writeln(s);多个字符串输入时以回车作为数据间的分隔符;每个readln语句只能读入一个字符串。
3.有关字符串的操作:
操作
|
类型
|
作用
|
返回值
|
例子
|
length(s) |
函数
|
求字符串s的长度 | 整型 |
s:='123456789'; l:=length(s);{l的值为9} |
copy(s,w,k) |
函数
|
复制s中从w开始的k位 | 字符串 |
s:='123456789'; s1:=copy(s,3,5);{s1的值是'34567'} |
val(s,k,code) |
过程
|
将字符串s转为数值,存在k中;code是错误代码 |
var s:string;k,code:integer; begin s:='1234'; val(s,k,code); write(k);{k=1234} |
|
str(i,s) |
过程
|
将数值i转为字符串s |
i:=1234; str(i,s); write(s);{s='1234'} |
|
Delete(s,w,k) |
过程
|
在s中删除从第w位开始的k个字符 |
s := 'Honest Abe Lincoln'; Delete(s,8,4); Writeln(s); { 'Honest Lincoln' } |
|
Insert(s1, S, w) |
过程
|
将s1插到s中第w位 |
S := 'Honest Lincoln'; Insert('Abe ', S, 8); { 'Honest Abe Lincoln' } |
|
Pos(c, S) |
函数
|
求字符c在s中的位置 | 整型 |
S := ' 123.5'; i :=Pos(' ', S);{i的值为1} |
+ |
运算符
|
将两个字符串连接起来 |
s1:='1234'; s2:='5678'; s:=s1+s2;{'12345678'} |
思考与练习:
1、随机产生20个100以内的数,输出;按从小到大的顺序排序,输出。
2、求一个5X5数阵中的马鞍数,输出它的位置。所谓马鞍数,是指在行上最小而在列上最大的数。如下:
56789
45678
34521
23490
12548
则1行1列上的数就是马鞍数。
3、做一个加法器。完成30000以内的加法,两个加数间用“+”连接,可以连加,回车表示式子输入完成;“#”表示结束运算,退出加法器。
往期最新阅读:信息学竞赛Pascal语言选择结构程序设计(三)
更多内容,请参加合肥奥数网“杯赛竞赛”频道。
》》“信息学竞赛”延伸阅读