讨论 / 70分代码
Hlog 2011-06-26 02:01:00
点我顶贴 收藏 删除
program srt;

var p1,p2,p3,i,j,k:integer;

m,p:char;

s:string;

mn,pn:integer;

function xtrans(A:char):char;

var i:integer;

begin

if ord(A)<=90 then xtrans:=chr(ord(A)+32)

else xtrans:=A;

end;

function dtrans(A:char):char;

var i:integer;

begin

if ord(A)>90 then dtrans:=chr(ord(A)-32)

else dtrans:=A;

end;

begin

readln(p1,p2,p3);

p:='+';

repeat

repeat

read(m);

if m<>'-' then write(m);

if m<>'-' then p:=m;

if p='+' then begin write(m); m:='+'; end;

until (m='-') or eoln;

if eoln then exit;

read(m);

mn:=ord(m);pn:=ord(p);

if mn<=pn then begin write('-',m); p:=m; end

else if mn=pn+1 then begin write(m); p:=m; end

else if (mn<ord('A')) or (mn>ord('z')) then

begin

if p1=3 then

for i:=mn-1 downto pn+1 do

for j:=1 to p2 do write('*')

else

begin

if p3=1 then

begin

for i:=pn+1 to mn-1 do

for j:=1 to p2 do

write(chr(i));

end

else

for i:=mn-1 downto pn+1 do

for j:=1 to p2 do

write(chr(i));

end;

write(m); p:=m;

end

else

begin

case p1 of

1:begin

if p3=1 then

begin

for i:=pn+1 to mn-1 do

for j:=1 to p2 do

write(xtrans(chr(i)));

end

else

begin

for i:=mn-1 downto pn+1 do

for j:=1 to p2 do

write(xtrans(chr(i)));

end

end;

2:begin

if p3=1 then

for i:=pn+1 to mn-1 do

for j:=1 to p2 do

write(dtrans(chr(i)))

else

for i:=mn-1 downto pn+1 do

for j:=1 to p2 do

write(dtrans(chr(i)));

end;

3:for i:=mn-1 downto pn+1 do

for j:=1 to p2 do write('*');

end;

write(m); p:=m;

end;

until eoln;

readln;

end.

查看更多回复
提交回复