历届青少年信息技术奥林匹克竞赛输出程序结果试题汇总.doc_第1页
历届青少年信息技术奥林匹克竞赛输出程序结果试题汇总.doc_第2页
历届青少年信息技术奥林匹克竞赛输出程序结果试题汇总.doc_第3页
历届青少年信息技术奥林匹克竞赛输出程序结果试题汇总.doc_第4页
历届青少年信息技术奥林匹克竞赛输出程序结果试题汇总.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

十六届四、阅读程序写结果(共4题,每题8分,其中第4题(1)(2)各4分,共计32分)1.var a1,a2,a3,x:integer;procedure swap(var a,b:integer);var t:integer;begin t:=a; a:=b; b:=t;end; begin readln(a1,a2,a3); if a1a2 then swap(a1,a2); if a2a3 then swap(a2,a3); if a1a2 then swap(a1,a2); readln(x); if xa2 then if xa1 then writeln(x, ,a1, , a3, ,a3) else writeln(a1, ,x, , a2, ,a3) else if xa3 then writeln(a1, ,a2, , x, ,a3) else writeln(a1, ,a2, , a3, ,x) end. 输入91 2 2077输出:_ 2.Var n,m,i:integer;function rSum(j:integer):integer;var sum:integer;begin sum:=0; while j0 do begin sum:=sum*10+(j mod 10); j:=j div 10; end; rSum:=sum;end; begin readln(n,m); for i:=n to m do if i=rSum(i) then write(I,);end.输入:90 120输出:_ 3.var s:string; i:integer; m1,m2:char; begin readln(s); m1:=; m2:=; for i:=1 to length(s) do if sim1 then begin m2:=m1; m1:=si; end else if sim2 then m2:=si; writeln(ord(m1), ,ord(m2);end.输入:Expo 2010 Shanghai China输出:提示:字符空格0AaASCII码32486597 4.const num = 5;var n: integer;function r(n : integer) : integer;var i : integer;begin if n = num then begin r := n; exit; end; for i :=1 to num do if r(n-i) 0 then begin r:=i; exit; end; r:=-1;end;begin readln(n); writeln(r(n);end.(1)输入:7输出:_(4分)(2)输入 16输出:_(4分)十五届三阅读程序写结果(共4题,每题8分,共计32分)1vara, b: integer; function work(a, b: integer): integer;beginif a mod b 0 then work := work(b, a mod b)else work := b;end; beginread(a, b);writeln(work(a, b);end.输入:20 12输出:_ 2vara, b: array0.2 of integer;i, j, tmp: integer;beginfor i := 0 to 2 do read(bi);for i := 0 to 2 dobegin ai := 0; for j := 0 to i do begin inc(ai, bj); inc(bai mod 3, aj); end;end;tmp := 1;for i := 0 to 2 dobegin ai := ai mod 10; bi := bi mod 10; tmp := tmp * (ai + bi);end;writeln(tmp);end.输入:2 3 5输出:_ 3const c = 2009;varn, p, s, i, j, t: integer;beginread(n, p);s := 0; t := 1;for i := 1 to n dobegin t := t * p mod c; for j := 1 to i do s := (s + t) mod c;end;writeln(s);end. 输入:11 2输出: 4var a: string; n: integer; procedure getnext(var str: string);var l, i, j, k: integer; temp: char;begin l := length(str); k := l - 1; while (k=1) and (strkstrk+1) do dec(k); i := k + 1; while (istrk) do inc(i); temp := strk; strk := stri-1; stri-1 := temp; for i := l downto k + 1 do for j := k + 1 to i - 1 do if strj strj+1 then begin temp := strj; strj := strj+1; strj+1 := temp; end;end; begin read(a); read(n); while n 0 do begin getnext(a); dec(n); end; write(a);end. 输入:NOIP 3输出: 十四届三、阅读程序写结果(共4题,每题8分,共计32分)1VAR i,a,b,c,d:integer;f:array0.3 of integer;BEGINfor i:=0 to 3 doread(fi);a:=f0+f1+f2+f3;a:=a div f0;b:=f0+f2+f3;b:=b div a;c:=(b*f1+a) div f2;d:=f(b div c) mod 4;if (f(a+b+c+d) mod 4f2) thenbegina:=a+b;writeln(a);end elsebeginc:=c+d;writeln(c);end;END. 输入:9 19 29 39输出:_ 2procedure foo(a,b,c:integer);beginif ab then foo(c,a,b)else writeln(a,b,c);end; vara,b,c:integer;beginread(a,b,c);foo(a,b,c);end. 输入:3 1 2输出:_ 3type TT=array0.20of integer;prodecure func(var ary:TT;n:integer);var i,j,x:integer;begini:=0;j:=n-1;while ij do beginwhile (i0) do inc(i);while (ij) and (aryj0) do dec(j);if i epos_f then exit;for i:=spos_m to epos_m doif firstspos_f=midi then beginroot_m:=i;break;end;solve(first,spos_f+1,spos_f+(root_m-spos_m),mid,spos_m,root_m-1);solve(first,spos_f+(root_m-spos_m)+1,epos_f,mid,root_m+1,epos_m);write(firstspos_f);end; var first,mid:string;len:integer;beginreadln(len);readln(first);readln(mid);solve(first,1,len,mid,1,len);writeln;end. 输入:7ABDCEGFBDAGECF输出:_十三届三、阅读程序写结果(共4题,每题8分,共计32分。)1、program j301;var i,a,b,c,x,y:integer; p:array0.4 of integer;begin y:=20; for i:=0 to 4 do read(p); readln; a:=(p0+p1)+(p2+p3+p4) div 7; b:=p0+p1 div (p2+p3) div p4); c:=p0*p1 div p2; x:=a+b-p(p3+3) mod 4; if (x10) then y:=y+(b*100-a) div (pp4 mod 3*5) else y:=y+20+(b*100-c) div (pp4 mod 3*5); writeln(x,y);end.注:本例中,给定的输入数据可以避免分母为0或数组元素下表越界。输入:6 6 5 5 3 输出:_2、program j302;var a,b:integer;var x,y:integer;procedure fun(a,b:integer);var k:integer;begin k:=a; a:=b; b:=k; end;begin a:=3; b:=6; x:=a; y:=b; fun(x,y); writeln(a,b);end.输出:_3、program j303;var a1:array1.50 of integer;var i,j,t,t2,n,n2:integer;begin n:=50; for i:=1 to n do a1:=0; n2:=round(sqrt(n); for i:=2 to n2 do if (a1=0) then begin t2:=n div i; for j:=2 to t2 do a1i*j:=1; end; t:=0; for i:=2 to n do if (a1=0) then begin write(i:4); inc(t); if (t mod 10=0) then writeln; end; writeln;end.输出:_ _4、Program j304;Type str1=string100; Str2=string200;Var S1:str1; s2:str2;Function isalpha(c:char):Boolean;Var i:integer;Begin i:=ord(c); if (i=65) and (i=97) and (i=48) and (i=57) then isdigit:=true else isdigit:=false;end;procedure expand(s1:str1;var s2:str2);var i,j:integer; a,b,c:char;begin j:=1; c:=char(1); i:=0; while (i=ord(s10) do begin inc(i); c:=s1; if c=- then begin 1 a:=s1i-1; b:=s1i+1; if (isalpha(a) and isalpha(b) or (isdigit(a) and isdigit(b) then begin dec(j); while (ord(upcase(a)10) theny:=y+(b*100-u3) div (uu0 mod 3*5)elsey:=y+20+(b*100-u3) div (uu0 mod 3*5);writeln (x,y);end. *注:本例中,给定的输入数据可以避免分母为0或下标越界。 输入:9 3 9 4输出:_2.Program ex302;constm:array0.4 of integer=(2,3,5,7,13);vari,j:integer;t: longint;beginfor i:=0 to 4 dobegint:=1;for j:=1 to mi-1 dot:=t*2;t:=(t*2-1)*t;write (t, );end;writeln;end.输出:_3.Program ex303;ConstNN=7;TypeArr1=array0.30 of char;vars:arr1;k,p:integer;Function fun(s:arr1; a:char;n:integer):integer;varj:integer;beginj:=n;while (a0) do dec(j);fun:=j;end;beginfor k:=1 to NN dosk:=chr(ord(A)+2*k+1);k:=fun(s,M,NN);writeln(k);end.输出:_4.program ex304;varx,x2:longint;procedure digit(n,m:longint);var n2:integer;beginif(m0) thenbeginn2:=n mod 10;write(n2:2);if(m1) then digit(n div 10,m div 10);n2:=n mod 10;write(n2:2);end;end;beginwriteln(Input a number:);readln(x);x2:=1;while(x2x) do x2:=x2*10;x2:=x2 div 10;digit(x,x2);writeln; 5end.输入:9734526输出:_十一届三.阅读程序(共4题,每题8分,共计32分)1. vara,b : integer;beginread(a);b:=(a*(a*a)+1;if b mod 3 = 0 then b := b div 3;if b mod 5 = 0 then b := b div 5;if b mod 7 = 0 then b := b div 7;if b mod 9 = 0 then b := b div 9;if b mod 11 = 0 then b := b div 11;if b mod 13 = 0 then b := b div 13;if b mod 15 = 0 then b := b div 15;writeln(100*a-b) div 2);end.输入:10输出:_2. varstr : string;i : integer;beginstr := Today-is-terrible!;for i := 7 to 11 doif stri = - then stri-1 := x;for i := 13 downto 1 doif stri = t then stri+1 := e;writeln(str);end.输出:_3. vara,b,c,p,q : integer;r : array0.2 of integer;beginread(a,b,c);p := a div b div c;q := b - c + a + p;r0 := a * p div q *q;r1 := r0 * (r0 - 300);if (3 * q - p mod 3 = 2 do beginif stri - 1 stri then break; dec(i);end;if i = 1 then beginwriteln(No result!); exit;end;for j := 1 to i - 2 do write (strj stri - 1) and (strj mmin) thenmmin := strj;inc(nchrord(strj) - ord(a);end;dec(nchrord(mmin) - ord(a);inc(nchrord(stri - 1) - ord(a);write(mmin);for i := 0 to 25 dofor j := 1 to nchri dowrite(chr(i + ord(a);writeln;end.输入:zzyzcccbbbaaa输出:_第十届三、阅读程序(8一题,共32)1、program program1;Var a,b,c,d,e:integer; begin a:=79 ; b:=34; c:=57;d:=0 ; e:=-1; if (ac) then d:=d+e else if (d+10e) then d:=e+10 else d:=e-a; writeln(d); end.输出:_。2、program program2;var i,j:integer; str1,str2:string;begin str1:=pig-is-stupid; str2:=clever; str11:=d; str12:=o; i:=8; for j:=1 to 6 do begin str1i:=str2j;inc(i); end; writeln(str1);end.输出:_。3、program program3;var u:array0.3 of integer; a,b,c,x,y,z:integer;begin read(u0,u1,u2,u3); a:=u0+u1+u2+u3-5; b:=u0*(u1-u2 div u3+8); c:=u0*u1 div u2 * u3; x:=(a+b+2)*3-u(c+3) mod 4; y:=(c*100-13) div a div (ub mod 3*5); if (x+y) mod 2=0) then z:=(a+b+c+x+y) div 2; z:=(a+b+c-x-y)*2; writeln(x+y-z); read(a);end.输出:_。4、program program4 ;var c:array1.2 of string200; s:array1.10 of integer; m,n,i:integer ;procedure numara;var cod:boolean; i,j,nr:integer;begin for j:=1 to n do begin nr:=0;cod:=true; for i:=1 to m do if ci,j=1 then begin if not cod then begin cod:=true;inc(snr);nr:=0; end end else begin if cod then begin nr:=1;cod:=false ; end else inc(nr); end; if not cod then inc(snr); end; end; begin readln(m,n); for i:=1 to m do readln(ci); numara; for i:=1 to m do if si 0 then write(i, ,si, ); read(i); end.输出:_。第九届三阅读程序(每题8分,共32分)1program Programl; var a,x,y,okl,ok2:integer; begin a :=100: x:=l0; y:=20; okl:=5: ok2:=0; if (xy) or (y20) and (okl=0) and (ok20) then a:=1 else if (okl0) and (ok2=、0) then a:=-1 else a:=0; writeln(a); end输出:2program Program2; vara,t:string;i,j:integer; begina:=morning;j:= l; for i:=2 to 7 do if (aj10) then ai:=10+(ai mod 2); sum:=0: for i:=0 to 5 do sum:=sum+ai*(6-i); if (sum mod 2) 0) thenbeginwriteln(Cant be divided.);Exit;End; sum:=sum div 2; max:=0; cover0:=True; for i:=1 to sum*2 do coveri:=False; for i:=0 to 5 do begin j:=0; while (jai)do begin for k:=max downto 0 do begin if (coverk) then coverk+6-i:=True;end;max:=max+6-i: j:=j+1; end;end;if (coversum) then writeln (Can be divided.)else writeln(cant be divided.); end输入:4 7 9 20 56 48 输入:1000 7 101 20 55 1 输入:2000 5 l 1 0 0输出: 输出: 输出: 第八届三阅读程序:program exp1;var i,j,k,n,L0,L1,LK:Integer;a :array 0.20 of integer;beginreadln(n,k);for i:=0 to n-1 do ai:=i+1;an:=an-1;L0:=n-1; Lk:=n-1;for I:=1 to n-1 dobegin L1:=L0-k; if (l10) then L1:=L1+n;If (l1=Lk) then begin AL0:=an; Lk:=Lk-1; an:=aLk; l0:=lk End;Else Begin Al0:=al1;l0:=l1;End;End;AL0:=an;For I:=0 to n-1 do write(aI:40;Writeln;End.输入:10 4输出:2)program exp2;var n,jr,jw,jb:integer; ch1:char; ch:array1.20d char; beginreadln(n);for i:=1 to n do read(chi):jr:=1;jwz=n;jb:=n;:while (jr0)do beginj:=j-1;aj:=n mod 10;n:=n div 10;end;s:=0;for i:=j t0 20 do s:=s*p+ai;writeln(s);j :=21;while (sO)dobegin j:=j-1;aj:=s mod q;s:=s div q;end;for i:=j to 20 do write(ai);readln;end.输入:7 3051 8输出:第七届三、阅读程序,写出正确的程序运行结果(5+8+9+9=31分)1.PROGRAM CHU7_1;FUNCTION FUN(X:INTEGER):INTEGER;BEGINIF(X=0)OR(X=1)THEN FUN:=3ELSE FUN:=X-FUN(X-2)END;BEGINWRITELN(FUN(9);READLN;END. 输出: 2.PROGRAM CHU7_2;VAR I,J,F:INTEGER;A:ARRAY1.8OF INTEGER;BEGINFOR I:=1 TO 8 DOBEGINF:=I MOD 2;IF F=0 THEN AI:=0 ELSE AI:=1;FOR J:=1 TO I DOIF F=0 THEN AI:=AI+J ELSE AI:=AI*JEND;FOR I:=1 TO 8 DOWRITE(AI:5);END.输出3.PROGRAM CHU7_3;VAR P,Q,S,T:INTEGER;BEGINREADLN(P);FOR Q:=P+1 TO 2*P DOBEGINT:=0;S:=(P*Q)MOD(Q-P);IF S=0 THENBEGINT:=P+Q+(P*Q)DIV(Q-P);WRITE(T:4);END;END;READLNEND.输入:12输出:4.PRGORAM CHU7_4;VAR N,K,I:INTEGER;A:ARRAY1.40OF INTEGER;PROCEDURE FIND(X:INTEGER);VAR S,I1,J1:INTEGER;P:BOOLEAN;BEGINI1:=0;P:=TRUE;WHILE P DOBEGINI1:=I1+1;S:=0;FOR J1:=1 TO N DOIF AJ1AI1THEN S:=S+1;IF(S=X-1)THENBEGINWRITELN(AI1);P:=FALSEEND;ENDEND;BEGINREADLN(N,K);FOR I:=1 TO N DOREAD(AI);FIND(K);FIND(N-K);END.输入:10 412 34 5 65 67 87 7 90 120 13输出: 第六届三阅读程序,并写出程序正确的运行结果( 1016分,共26分)1. PROGRAM NOI_0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论