、(附加題)輸入壹串字符,以“?”結束輸出其中小寫字母個數與數字個數。
program ex;
var
ch:char;
t,t1:integer;
begin
t:=0;t1:=0;
read(ch);
while ch<>'?' do begin
if (ord(ch)>=97)and(ord(ch)<=122) then t:=t+1;
if (ord(ch)>=48)and(ord(ch)<=57) then t1:=t1+1;
read(ch);
end;
writeln;
writeln(t,' ',t1);
end.
編程求下式中n的最大值:2×2+4×4+6×6+...+n×n<1500。
program ex1;
var s,n:integer;
begin
n:=2;
s:=0;
while s<1500 do
begin
s:=s+n*n;
n:=n+2;
end;
writeln(n);
readln
end.
打印下列圖案:
*
* * *
* * * * *
program ex2;
var i,j,n:integer;
begin
readln(n);
for j:=1 to n do
if n mod 2<>0 then
for i:=1 to j do
begin
write('*');
if j=i then writeln;
end;
end.
打印下列圖案
# @ *
# # @ @ * *
# # # @ @ @ * * *
program ex3;
var i,j,n:integer;
begin
readln(n);
i:=1;
while i<=n do
begin
for j:=1 to i do write('#');
for j:=1 to i do write('@');
for j:=1 to i do write('*');
writeln;
i:=i+1;
end;
end.
試編程找出能被各位數字之和整除的壹切兩位數。
program ex4;
var i,j,s,k:integer;
begin
for i:=10 to 99 do
begin
j:=i div 10;
k:=i mod 10;
s:=j+k;
if i mod s=0 then write(i,' ');
end;
readln
end.
壹個自然數是素數,且它的數字位置經過任意對換後仍為素數,則稱為絕對素數,例如13。試找出所有兩位數的絕對素數。
program ex5;
var n,i,j:integer;
function sz(a:integer):boolean;
var k,s:integer;
begin
s:=0;
for k:=2 to a-1 do
if a mod k=0 then s:=s+1;
if s=0 then sz:=true else sz:=false;
end;
begin
for i:=10 to 99 do
begin
j:=i div 10;
n:=i mod 10;
n:=10*n+j;
if sz(i) and sz(n) then write(i,' ');
end;
readln
end.
輸入壹個奇數,輸出下列圖形;
輸入:3
*
***
*
輸入:5
*
***
*****
***
*
輸入壹個奇數,輸出下列圖形;
輸入:3
*
***
*
輸入:5
*
***
*****
***
*
輸入壹個奇數,輸出下列圖形;
輸入:3
*
***
*
輸入:5
*
***
*****
***
*
program ex6;
var i,n,j:integer;
begin
readln(n);
for i:=1 to n do
if i mod 2<>0 then
for j:=1 to i do
begin
write('*');
if j=i then writeln
end;
for i:=n-1 downto 1 do
if i mod 2<>0 then
for j:=1 to i do
begin
write('*');
if j=i then writeln
end;
readln
end.
打印下列圖形:
1
121
12321
1234321
12321
121
1
program ex7;
var i:integer;
procedure draw(a:integer);
var n:integer;
begin
for n:=1 to a do write(n);
for n:=a-1 downto 1 do write(n);
writeln;
end;
begin
for i:=1 to 4 do draw(i);
for i:=3 downto 1 do draw(i);
readln
end.