回 帖 发 新 帖 刷新版面

主题:[讨论]菜鸟问题

用函数做
如输入9875 和 3 则输出8(从右边数的第3个数)
如输入9875 和 5 则输出0


输入一个英文句,删除所有的元音字母,无论大小写.要输出的句子任是个句子.
如输入Krunch a bunch of munchies for lunchu .
输出Krunch a bunch of munchies for lunch.
提醒要注意不能有两个空格连在一起,且句号之前不能有空格.

求助~!!

回复列表 (共7个回复)

沙发

不好意思耶~第二题没有看懂,什么是元音字母啊?

板凳

A,E,I,O,U
a,e,i,o,u

3 楼

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 楼

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 楼


   楼上编得好繁 只需把a,e,i,o,u,A,E,I,O,U 做成集合A就行了
   读进一个字符只需判断 Ch in A = ? 就OK了!

6 楼

但我要具体程序

7 楼

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.
程序可能还有些小错和可以改进的地方,自己考虑吧!

我来回复

您尚未登录,请登录后再回复。点此登录或注册