主题:HELP ME!!!!!(++++++++++++++50)
HarryPotter
[专家分:20] 发布于 2005-11-20 21:32:00
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个回复)
沙发
fxzxg [专家分:430] 发布于 2005-11-21 13:36:00
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.
板凳
lmj9201 [专家分:1400] 发布于 2005-11-22 18:09:00
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 楼
lmj9201 [专家分:1400] 发布于 2005-11-22 18:09:00
第二题的
4 楼
onasp [专家分:5600] 发布于 2005-11-25 09:15:00
//第三题
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.
我来回复