Pascal问题:完善程序

(字符串替换)给定一个字符串S(S仅包含大小写字母),下面的程序将S中的每个字母用规定的字母替换,并输出S经过替换后的结果。程序的输入是两个字符串,第一个字符串是给定的字... (字符串替换)给定一个字符串S(S仅包含大小写字母),下面的程序将S中的每个字母用规定的字母替换,并输出S经过替换后的结果。程序的输入是两个字符串,第一个字符串是给定的字符串S,第二个字符串S’由26个字母组成,它是a~z的任一排列,大小写不定,S’规定了每个字母对应的替换字母:S’中的第一个字母是字母A和a的替换字母,即 S中的A用该字母的大写替换,S中的a用该字母的小写替换;S’中的第二个字母是字母B 和b的替换字母,即S中的B用该字母的大写替换,S中的b用该字母的小写替换;… …以此类推。

var change:string;
str:string;
procedure CheckChangeRule;
var i:integer;
begin
for i:=1 to 26 do begin
if ____①_____ then
change[i]:=chr(ord(change[i])-ord('A')+ord('a'));
end;
end;

procedure ChangeString;
var len,i:integer;
begin
len:=length(str);
for i:=1 to len do begin
if ______②______ then
begin
str[i]:=upcase(change[ord(str[i]-ord('A')+1]);
end;
else
begin
_______④_______
end;
end;
end;
begin
readln(str);
readln(change);
CheckChangeRule;
_______⑤_______
writeln(str);
end.
展开
 我来答
116452010
推荐于2016-10-07 · TA获得超过103个赞
知道答主
回答量:29
采纳率:0%
帮助的人:54.5万
展开全部
首先先理解一下这个程序:
CheckChangeRule这个程序的作用是将change数组里所有的字母都统一为小写字母,便于操作

ChangeSting这个程序当然就是按照change数组对str(原串)进行改变。对于每个字母,都有两种操作:
1、这个字母是大写字母时,将这个字母改为change数组里的字母(此时change数组里都是小写)的大写【upcase】。
2、这个字母是小写字母时,将这个直接改为change数组里相对应的字母(已经同样是小写,无需在操作)

现在明白了程序的内容,答案具体见下= =
①是判断change[i]是否是大写字母(是就替换为小写字母【统一,便于操作】)于是有这两种写法:1、change[i] in ['A'..'Z'] 或者 2、(change[i]>='A')and(change[i]<='Z') 任选其一
②是判断str[i]是否是大写字母,基本同上 两种:1、str[i] in ['A'..'Z'] 或者 2、(str[i]>='A')and(str[i]<='Z') 任选其一
④【不明白咋就木有③勒】就是对str[i]是小写字母时进行的操作【见上程序分析】直接替换:str[i]:=change[ord(str[i])-'a'+1];
⑤就简单了把。。。总共就两个过程 其中一个过程里也没有调用另个过程的语句= = 所以在这肯定要用到【不然第二个过程就没用了= =】 SO。。。果断ChangeString;
--END--

参考资料: 自己写的哈= =

guoyu1098
2011-08-28 · TA获得超过115个赞
知道答主
回答量:182
采纳率:0%
帮助的人:91.4万
展开全部
这题本身很水的说……
题目大意一楼已经给的很清楚了,不再赘述。
以后的程序填空都用这种方法做,最好再用几个数据代入试一下,可以保证AC
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ahheziyu
2011-08-29
知道答主
回答量:23
采纳率:0%
帮助的人:3.6万
展开全部
一楼已解释十分清楚,此题实在很水
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
北海道棕熊
2011-09-10 · TA获得超过553个赞
知道小有建树答主
回答量:409
采纳率:0%
帮助的人:128万
展开全部
水题,ctrl c &ctrl v一下一楼的。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式