当前位置:首页 > 演讲稿 > "竞赛阅读程序测试"试题及其答案|知识竞赛答案
 

"竞赛阅读程序测试"试题及其答案|知识竞赛答案

发布时间:2019-08-08 09:51:10 影响了:

“竞赛阅读程序测试”试题及其答案

第1题(6分)

program yd;

var d, p: integer;

begin

p:=1;

d:=11;

while d>1 do

begin

p:=2*(p+1);

d:=d-1

end;

writeln (p)

end.

输出:______

答案:

3070

第2题(6分)

program yd;

var

g,m: integer;

k,t: real;

begin

k:=0; g:=0;

for m:=1 to 49 do

begin

g:=g+1;

k:=k+1/(g*(g+1))

end;

writeln ( k: 10: 2 )

end.

输出:______

答案:

0.98

第3题(6分)

program yd;

var

n, i, t: longint;

tem: integer;

s: string;

begin

write("Input n: "); readln(n);

s:="1";

repeat

i:= length(s);

while s[i] ="1" do

begin

s[i]:= "0" ;dec(i);

end;

if i>0 then s[i]:="1"

else s:= "1" +s;

val(s,t,tem);

until t mod n = 0;

writeln(n,"*",t div n,"=",s);

end.

输入:6

输出:______

答案:

6*185=1110

第4题(6分)

program yd;

const n = 5;

var

i,j,m,s:integer;

begin

m:=0;

for i:=1 to n do

begin

m:=m+i;

s:=m;

for j:=1 to 2*i do write(""); {""

for j:=1 to n do

begin

write(s mod 10:2);

s:=s+j;

end;

writeln;

end;

end.

输出:______

答案:

1 2 4 7 1

3 4 6 9 3

6 7 9 2 6

0 1 3 6 0

5 6 8 1 5

第5题(7分)

program yd; 中间是一个空格}

var

a:array[0..8] of char;

i: integer;

begin

for i:= 1 to 8 do a[i]:=char(i * 2 +ord("A")); for i:= 1 to 4 do begin

a[0]:=a[i];

a[i]:=a[9-i];

a[9-i]:=a[0];

end;

for i:= 1 to 8 do write(a[i]);

writeln;

end.

输出:______

答案:

QOMKIGEC

第6题(7分)

Program yd;

var

n, i, x: integer;

d:array[0..10] of integer;

begin

readln(n);

fori:=1 to n do

begin

read(x);

d[x]:=d[x] +1;

end;

d[0]:=0;

for i:=1 to 10 do d[i]:=d[i-1]+d[i];

for i:=1 to 10 do

if d[i] d[i-1] then writeln(i:3,d[i-1]+1:4); end.

输入:

20

3 4 6 1 7 6 9 4 10 7

6 6 3 3 8 7 9 10 6 7

输出:_______

答案:

1 1

3 2

4 5

6 7

7 12

8 16

9 17

10 19

第7题(7分)

program yd;

var

a,b:array[1..32] of integer;

i: integer;

procedure ssort( i ,j: integer);

var

m, k, x: integer;

begin

if j-i>1 then

begin

m:=(i+j) div 2;

ssort(i,m);

ssort(m+1,j);

k:=i;

for x:=i to m do

begin

b[k]:=a[x]; b[k+1]:=a[m+x-i+1];

k:=k+2;

end;

for x:=i to j do a[x]:=b[x];

end;

end;

begin

for i:=1 to 16 do a[i]:=i;

ssort(1,16);

for i:= 1 to 16 do write(a[i]:3);

writeln;

end.

输出:______

答案:

1 9 5 13 3 11 7 15 2 10 6 14 4 12 8 16 第8题(6分)

program yd;

var

a,d:array[1..100] of integer;

n ,i ,j ,k,x ,s :integer;

begin

n:=5;a[1]:=1;d[1]:=1;

for i:=1 to n do

begin

s:=i+1;x:=0;

for j:=1 to n+1-i do

begin

k:=s+x;x:=x+1;a[j+1]:=a[j]+k;

write(a[j]," ");

end;

writeln("...");d[i+1]:=d[i]+i;a[1]:=d[i+1]; end;

end.

输出:_________

答案:

1 3 6 10 15 ...

2 5 9 14 ...

4 8 13 ...

7 12 ...

11 ...

第9题(7分)

program yd;

const

d: array [0..3,1..4] of integer

=((4,7,10,13),(1,8,11,14),(2,5,12,15),(3,6,9,16)); var

i ,j ,a,x,k ,bj :integer;

y,u,v:real;

begin

for i:=1 to 4 do

begin

a:=3-i;bj:=0;

for j:=0 to 3 do

for k:=1 to 4 do

begin

x:=d[j,k];u:=(x+a)/4;v:=(x+trunc(u))/4; y:=4*(v-trunc(v));

if yj then begin k:=4;j:=3;bj:=1;end; end;

if bj=0 then

begin

write("U = (X");

if a>0 then write("+");

writeln(a,")/4");

end;

end;

end.

输出:_________

答案:

U = (X-1)/4

第10题(7分)

program yd;

const

a:array[1..10] of integer

= (8 ,2,7,4,6,9,3,5,3,8);

type point = ^nod;

nod = record

w: integer; right,left: point

end;

var first,head :point;

j,i,k:integer;

procedure hyt ( d: integer; var p: point);

begin

if p = nil then

begin

new(p);

if k = 1 then begin first:=p;k:=2;end;

with p^ do

begin w:=d; right:=nil; left:=nil end; end

else with p^ do

if d >= w then hyt(d,right) else hyt(d,left); end;

procedure hyt1(p: point);

begin

with p^ do

begin

if left nil then hyt1(left);

write(w:4);

if right nil then hyt1(right);

end;

end;

begin

i:=10;

first:=nil;k:=1;

for j:=1 to i do hyt(a[j] ,first);

hyt1(first);writeln

end.

输出:_________

答案:

2 3 3 4 5 6 7 8 8 9

第11题(7分)

program yd;

var m,n,i,p,k:integer;

r:array[1..200] of integer;

b: boolean;

begin

m:=6;n:=2;

for i:=1 to m-1 do r[i]:=i+1;

r[m]:=1;i:=0;p:=1;b:=true;

while b do

begin

i:=i+1;k:=p;p:=r[p];

if k=p then begin writeln(p) ;b:=false end else if i=n+1 then

begin

write(p," ");i:=0;p:=r[p];r[k]:=p; end

end

end.

输出:________

答案:

4 2 1 3 6 5

第12题(7分)

program yd;

var n,k,s:longint;

begin

n:=1000000000;

k:=0;

s:=1;

while s

begin

k:=k+1;

n:=n-s;

s:=s+6*k

end;

writeln (k)

end.

输出:_______

答案:

1000

第13题(7分)

program yd;

const

a: array[1..14] of longint

=(94,32,40,90,99,80,46,21,69,28,64,73,85,54); var

i, j, k, m,left, right, temp: longint; begin

m:=8;

left:= 1;

right:= 14;

while left

begin

k:=a[m];

i:=left;

j:=right;

repeat

while k

while k > a[i] do i:=i+1;

if i

begin

temp:=a[i];

a[i]:=a[j];

a[j]:=temp;

i:=i+1;

j:=j -1

end

until i > j;

if j

if i > m then right:=j

end;

writeln(a[m])

end.

输出:_______

答案:

69

第14题(7分)

program yd;

var

m ,n,s: longint;

procedure pl(n: longint);

begin

if n0 then

begin

pl(n div 2);

s:=(s*2+n mod 2 *m) mod 1023

end

end;

begin

m:=2002;

n:=5871;

s:=0;

pl(n);

writeln(s);

end.

输出:_______

答案:

495

第15题(7分)

program yd;

const

maxn =10000;

var

i,j,k ,n,r,p,g:longint;

a:array [1..maxn] of longint;

function gcd(m, n: longint): longint; var r: longint;

begin

while n0 do

begin

r:=m mod n;

m:=n;

n:=r

end;

gcd:=m

end;

begin

n:= 1000;

r:=202;

for i:=1 to n-r do a[i]:=n-i+1; for i:=2 to r do

begin

k:=i;

for j:=1 to n-r do

if gcd(k,a[j]) > 1 then begin

g:= gcd(k,a[j]);

k:=k div g;

a[j]:=a[j] div g;

if k = 1 then peak

end

end;

p:= 1 ;g:=0;

for i:=1 to n-r do begin

p:=p*a[i];

while p mod 5 = 0 do begin

p:=p div 5; g:=g+1

end;

p:= p mod 5 end;

writeln(g)

end.

输出:________ 答案:

151

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3