讨论 / 212提示问题 为什么70分?
liruyuan 2010-07-29 06:49:00
点我顶贴 收藏 删除
求大牛们帮助

第七点

测试结果错误.错误结果为:,... . .!... ......-...

,q.p w e!u.. ......-...

,q.p w e!u. e!u.. .....o-a..

正确结果应为:,... . .!... ......-...

,q.p w e!u.. ......-...

,q.p w e!u.. .....o-a..

第9点

测试结果错误.错误结果为:-------.....................

-------AEIOUae..............

-------AEIOUaeAEIOUae..............

正确结果应为:-------.....................

-------AEIOUae..............

-------AEIOUaenmLkjPz.......

第十点

测试结果错误.错误结果为:., ... ..? .... .... ...........

e, zar bb? te.. .... ...........

e, zar bb? te.? .e.. .... ...........

正确结果应为:., ... ..? .... .... ...........

e, zar bb? te.. .... ...........

e, zar bb? test ccdd f..........

我的程序

program rq212;

var

a:array[1..1000]of longint;

b,c:array[1..1000]of char;

s:string;

p,i,j,m,n,k,l,t,q,h,x,y,z:longint;

begin

read(s);

l:=length(s);

for i:=1to l do

begin

if (s[i]>='a')and(s[i]<='z') or (s[i]>='A')and(s[i]<='Z')

THEN begin write('.'); k:=k+1;inc(q); c[q]:='.'; inc(y); end {k 总字母数}

else begin write(s[i]); inc(q); c[q]:=s[i]; end;

end;

writeln;

t:=round(k/3);

n:=1; p:=1;

while p<=t do

begin

if (s[n]>='a')and(s[n]<='z') or (s[n]>='A')and(s[n]<='Z')

then begin write(s[n]); b[p]:=s[n]; inc(n); inc(p); inc(z);end

else begin write(s[n]); inc(n); inc(z);end;

end;

while (p>t)and(n<=l) do

begin write(c[n]); inc(n); end;

writeln;

for i:=p to l do

if (s[i]='A')OR (s[i]='E')OR (s[i]='I')OR (s[i]='O')OR (s[i]='U')OR (s[i]='a')OR

(s[i]='e')OR (s[i]='i')OR (s[i]='o')OR (s[i]='u') then

begin

m:=m+1; c[i]:=s[i];

end;

if m>0 then begin for i:=1 to z do write(s[i]);for i:=p to l do write(c[i]); end;

if m=0 then

begin

t:=round(2*y/3);

h:=0; x:=1;

while h<t do

begin

if (s[x]>='a')and(s[x]<='z') or (s[x]>='A')and(s[x]<='Z') then begin

write(s[x]); h:=h+1; inc(x); end

else begin write(s[x]); inc(x); end;

end;

for i:=x to l do write(c[i]);

end;

readln(j)

end.

请赐教

查看更多回复
提交回复