主题:急急急,来者加分!
969519450
[专家分:0] 发布于 2010-10-17 16:13:00
哪位高人,来点Pascal练习,要求:
1,尽量是字符串或函数或过程。
2,加详细的解。[em1][em3]
回复列表 (共1个回复)
沙发
hejieting [专家分:0] 发布于 2010-10-17 16:53:00
我有几个,希望能帮上忙:
1、把26个英语字母正向、逆向打印出来。
Const s:string[26]=’abcdefghijklmnopqrstuvwxyz’;
Var t:string[26];
I:integer;
Begin
t:=’ ‘; {共26个空格}
For I:=1 to 26 do begin
T[I]:=s[27-I];
End;
Writeln(s);
Writeln(t);
2、找出所有的四位回文数:(回文数就是一个数从左往右读与从右往左读都是同一个数)
var s:string[4];
n:integer;
begin
for n:=1000 to 9999 do begin
str(n,s);
if (s[1]=s[4]) and (s[2]=s[3]) then write(n:6);
end;
end.
3、编一程序,求两个自然数的最大公约数。
Var n,m:integer;
Function num(a,b:integer):integer;
Var c:integer;
Begin
If a>b then c:=b else c:=a;
C:=c+1;
Repeat
C:=c-1;
Until (a mod c=0) and (b mod c=0);
Num:=c;
End;
Begin
Write(‘please input 2 numbers:’);
Readln(m,n);
Writeln(num(m,n));
End.
4、有一个数列N,已知:N(1)=1,N(X)=N(X-1)*3-1(X>1),求N(100);
Var n100:integer;
Function dg(n:integer):integer;
Begin
If n:=1 then dg:=1
Else begin
Dg:=dg(n-1)*3-1;
End;
End;
Begin
N100:=dg(100);
Writeln(n100);
End.
5、编写一个程序,在屏幕上打印以下图形。
$$$$$
$$$$$
$$$$$
$$$$$
$$$$$
Var I:integer;
Procedure printrow(n,m:integer);
Var r:integer;
Begin
Write(‘ ‘:n);
For r:=1 to m do begin
Write(‘$’);
End;
Writeln;
End;
Begin
For I:=1 to 5 do begin
Printrow(I,5);
End;
End.
我来回复