数组习题一解析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、对输入的一句子实现查找且置换的功能(找到某个子串并换成另一子串)。

程序一:

var s,t,r,x:string;

i,k:integer;

begin

write('Thetext:');

readln(t);

write('Find:');

readln(s);

write('Replace:');

readln(r);

k:=length(s);

x:='';

repeat

i:=pos(s,t);

if i>0 then

begin

x:=x+copy(t,1,i-1)+r;

t:=copy(t,i+k,255);

end;

until i=0;

x:=x+t;

writeln(x);

readln;

end.

程序二:

var s,t,r:string;

i:integer;

begin

write('Thetext:');

readln(t);

write('Find:');

readln(s);

write('Replace:');

readln(r);

i:=pos(s,t);

while i <> 0 do

begin

delete(t,i,length(s));

insert(r,t,i);

i:=pos(s,t);

end;

writeln(t);

readln;

end.

例:输入句子:i am a student 查找a 替换成am

输出:i amm am student

Program test;

Procedure rever;

Var c:char;

Begin

Read(c);

If c<>'.' Then rever;

Write(c);

End;

Begin

Rever;

End.

2、读入一串字符,以句号结束,然后让其倒序输出。

如输入:I am a student.

输出:.tneduts a ma I

var s,sub:string;

i:integer;

begin

readln(s);

for i:=2 to length(s) do

begin

sub:=copy(s,i,1);

delete(s,i,1);

insert(sub,s,1);

end;

writeln(s);

end.

3、找出一个二维数组的鞍点,即该位置上的元素在该行上最大、该列上最小,也可能没有鞍点。数组的值从键盘输入,如:

19 23 21 13

61 25 34 45

67 32 39 29

39 98 27 56

输出:第一行第二列23

如果没有鞍点则显示NO!,有则显示每个鞍点的位置和值,一个占一行

program andian;

const m=3;n=3;

var a:array[1..3,1..3] of integer;

i,j,u,v:integer;

found:boolean;

begin

for i:=1 to m do

for j:=1 to n do

read(a[i,j]);

found:=false;

i:=1;

repeat

v:=1;

for j:=2 to n do

if a[i,j]>a[i,v] then v:=j;

u:=0;

repeat

u:=u+1;

until (u>m) or (a[u,v]

if u>m then found:=true

else i:=i+1;

until found or (i>m);

writeln;

if found then write('a[',i,',',v,']','=',a[i,v])

else write('not found');

end.

4、从键盘读入一个以句号结尾的英文句子,统计并输出句中各字母出现的次数。

var ch:char;

count:array['a'..'z'] of integer;

k:integer;

begin

for ch:='a' to 'z' do

count[ch]:=0;

writeln('input string:');

repeat

read(ch);

if (ch>='a') and (ch<='z') then

inc(count[ch]);

until ch='.';

for ch:='a' to 'z' do

if count[ch]>0 then

write(' ',ch,':',count[ch]:2,'times');

end.

5、任意输入一个句子(以’.’结束,长度在255以内)和一个单词(长度小于等于8),求该单词在句子中总共出现多少次。

var s,s1:string;

t,k:integer;

begin

相关文档
最新文档