回 帖 发 新 帖 刷新版面

主题:HELP ME!!!!!(++++++++++++++50)

1.输入一串小写字母(以"."为结束标志),统计出每个字母在该字符串中出现的次数(若某字母不出现,则不要输出)。
  例:
  输入:aaaabbbccc.
  输出:a:4
     b:3
     c:3
  2.输入一个不大于32767的正整数N,将它转换成一个二进制数。
  例如:
  输入:100
  输出: 1100100
  3.输入一个由10个整数组成的序列,其中序列中任意连续三个整数都互不相同,求该序列中所有递增或递减子序列的个数。
  例如:
  输入:1 10 8 5 9 3 2 6 7 4
  输出:6
  对应的递增或递减子序列为:
  1 10 
  10 8 5 
  5 9
  9 3 2
  2 6 7
  7 4

回复列表 (共4个回复)

沙发

program ex1;
var
a:array['a'..'z'] of longint;
ch:char;
b:set of char;

begin
b:=['a'..'z'];
read(ch);
while ch<>'.' do
  begin
   if ch in b
    then inc(a[ch]);
   read(ch);
  end;
for ch:='a' to 'z' do
  if a[ch]<>0
   then writeln(ch,':',a[ch]);
end.

板凳

var
    i,j,k:integer;
    x:longint;
    a,y:array[1..15]of integer;
  begin
    read(x);i:=0;
    repeat
      inc(i);
      a[i]:=x mod 2;
      x:=x div 2;
    until x=0;
    for k:=1 to i do
      for j:=i to 1 do
        y[j]:=a[k];
    for j:=i to 1 do
    write(y[j]);
  end.
我没试过,但应该可以,记得加分哦

3 楼

第二题的

4 楼

//第三题
program Project1;
{$APPTYPE CONSOLE}
var
  s,i : byte;
  b : integer;
  a:array[1..10] of integer;
begin
  s := 1;
  for i:=1 to 10 do
  begin
    read(a[i]);
    if i >=3 then
    begin
      b := (a[i] - a[i-1])*(a[i-1] - a[i-2]);
      if b < 0 then
      s := s+1;
    end;
  end;
  writeln(s);
readln;
end.

我来回复

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