主题:[讨论]菜鸟问题
编程黑客
[专家分:1660] 发布于 2006-04-15 17:42:00
用函数做
如输入9875 和 3 则输出8(从右边数的第3个数)
如输入9875 和 5 则输出0
输入一个英文句,删除所有的元音字母,无论大小写.要输出的句子任是个句子.
如输入Krunch a bunch of munchies for lunchu .
输出Krunch a bunch of munchies for lunch.
提醒要注意不能有两个空格连在一起,且句号之前不能有空格.
求助~!!
回复列表 (共7个回复)
沙发
超级玛丽 [专家分:0] 发布于 2006-04-15 20:10:00
不好意思耶~第二题没有看懂,什么是元音字母啊?
板凳
编程黑客 [专家分:1660] 发布于 2006-04-15 21:52:00
A,E,I,O,U
a,e,i,o,u
3 楼
lmj9201 [专家分:1400] 发布于 2006-04-16 14:30:00
1
var
x:string;
y:integer;
function sc(a:string;b:integer):string;
var
q:integer;
begin
q:=length(a);
sc:=a[q-b+1];
end;
begin
read(x,y);
writeln(sc(x,y));
end.
4 楼
lmj9201 [专家分:1400] 发布于 2006-04-16 14:40:00
2
var
x:string;
function sc(a:string):string;
var
i:integer;
begin
for i:=1 to length(a) do
if (a[i]='a')or(a[i]='e')or(a[i]='i')or(a[i]='o')or(a[i]='u')
or(a[i]='A')or(a[i]='E')or(a[i]='I')or(a[i]='O')or(a[i]='U')
then delete(a,i,1);
for i:=1 to length(a) do
if (a[i]=' ')and(a[i+1]=' ') then delete(a,i,1);
if (a[length(a)-1]=' ')then delete(a,length(a)-1,1);
sc:=a;
end;
begin
read(x);
writeln(sc(x));
end.
5 楼
dorremon1992 [专家分:870] 发布于 2006-04-18 16:33:00
楼上编得好繁 只需把a,e,i,o,u,A,E,I,O,U 做成集合A就行了
读进一个字符只需判断 Ch in A = ? 就OK了!
6 楼
编程黑客 [专家分:1660] 发布于 2006-04-22 22:28:00
但我要具体程序
7 楼
dorremon1992 [专家分:870] 发布于 2006-05-07 12:01:00
Type Let=set of char;
Var S:String;
Len,i:integer;
c:char;
Begin
Let:=['a','e','i','o','u','A','E','I','O','U'];
readln(s);Len:=lenght(s);
for i:=1 to Len do begin {遍历字符串}
c:=s[i];
if c in Let then begin
s[i]:='*'; {做标记}
Len:=Len-1;
end;
end;
i:=1;
while i<=Len do
if s[i]<>'*'then begin write(s[i]);i:=i+1;end;
End.
程序可能还有些小错和可以改进的地方,自己考虑吧!
我来回复