几个关于PASCAL的简单问题(可以在线加分)

来源:百度知道 编辑:UC知道 时间:2024/06/07 20:58:48
1.输入一串字符,字符个数不超过100,且以"."结束。 判断它们是否构成回文。
2、任意输入三个字母,判定其在字母表中是否相邻
3、读入a,b,c三个不同的数,将他们按又从小到大的顺序输出。
4、编程实现输入一个字母,输出一个菱形。该菱形中间一行由此字母组成, 其相邻的上下两行由它前面的一个字母组成,按此规律,直到字母A出现在第一行和最末行为止。
例如: 输入字母D,输出如下:
A
B B B
C C C C C
D D D D D D D
C C C C C
B B B
A
5、编程计算下列问题: 有一天小猴摘下了若干个桃子,当即吃掉了一半,还觉不过瘾, 又多吃了一个;第二天接着吃了剩下的桃子中的一半,仍不过瘾, 又多吃了一个;以后每天都吃尚存桃子的一半零一个。到第N天早上吃完后就只剩下—个了,问小猴那天共摘下了多少个桃子?(1≤N≤30)

第一题
program work1;
var
s:string;
c:char;
b:boolean;
l,i:integer;
begin
s:='';
read(c);
while c<>'.' do
begin
s:=s+c;
l:=l+1;
read(c);
end;
b:=true;
for i:=1 to l div 2 do
begin
if s[i]<>s[l-i+1] then b:=false;
break;
end;
if b then write('Yes') else write('No');
end.
第二题
program work2;
var
a:array [1..3]of char;
procedure init;
begin
read(a[1],a[2],a[3]);
end;
procedure chck;
var
i:array[1..3]of byte;
x,y:integer;
begin
i[1]:=ord(a[1]);
i[2]:=ord(a[2]);
i[3]:=ord(a[3]);
for x:=1 to 3 do
for y:=1 to 3 do
if abs(i[x]-i[y])=1 then
begin
writeln('Yes');
halt;
end;
writeln('No');
end;
begin
init;
chck;
end.

第三题
program work3;
var a