初赛试题及答案Word文件下载.docx

上传人:b****6 文档编号:16618743 上传时间:2022-11-24 格式:DOCX 页数:17 大小:21.40KB
下载 相关 举报
初赛试题及答案Word文件下载.docx_第1页
第1页 / 共17页
初赛试题及答案Word文件下载.docx_第2页
第2页 / 共17页
初赛试题及答案Word文件下载.docx_第3页
第3页 / 共17页
初赛试题及答案Word文件下载.docx_第4页
第4页 / 共17页
初赛试题及答案Word文件下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

初赛试题及答案Word文件下载.docx

《初赛试题及答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《初赛试题及答案Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。

初赛试题及答案Word文件下载.docx

14.常见的邮件传输服务器使用()协议接收邮件。

A.HTTPB.SMTPC.TCPD.FTPE.POP3

15.下列浏览器中,由微软公司开发的浏览器是()。

A.InternetExploreB.NetscapeC.OperaD.FirefoxE.Mozilla

16.一位艺术史学家有20000幅真彩色图像,每幅图像约占3M空间。

如果将这些图像以位

图形式保存在CD光盘上(一张CD光盘的容量按600M计算),大约需要()张CD

光盘。

A.1B.10C.100D.1000E.10000

17.设A=true,B=false,C=false,D=true,以下逻辑运算表达式值为真的是()。

A.(AB∧)∨(CD∧)B.((AB∧)C∨)D∧C.A∧((BC∨)D∧)

D.(A∧(BC∨))D∨E.(AB∨)∧(CD∧)

18.(3725)8+(B)16的运算结果是()。

A.(3736)8B.(2016)10C.(1111110000)2D.(3006)10E.(7B0)16

19.二叉树T的宽度优先遍历序列为ABCDEFGHI,已知A是C的父结点,D是G的

父结点,F是I的父结点,树中所有结点的最大深度为3(根结点深度设为0),可知F

的父结点是()。

A.无法确定B.BC.CD.DE.E

20.设栈S的初始状态为空,元素a,b,c,d,e,f,g依次入栈,以下出栈序列不可能出现的是

()。

A.a,b,c,e,d,f,gB.b,c,a,f,e,g,dC.a,e,d,c,b,f,g

D.d,c,f,e,b,a,gE.g,e,f,d,c,b,a

二.问题求解(请在空格处填上答案,每空5分,共10分)

1.将数组{32,74,25,53,28,43,86,47}中的元素按从小到大的顺序排列,每次可以交换任

意两个元素,最少需要交换次。

2.有3个课外小组:

物理组,化学组和生物组。

今有张、王、李、赵、陈5名同学,已知

张、王为物理组成员,张、李、赵为化学组成员,李、赵、陈为生物组成员。

如果要在

3个小组中分别选出3位组长,一位同学最多只能担任一个小组的组长,共有种

选择方案。

三.阅读程序(共4题,每题8分,共计32分)

==================PASCAL语言==================

1.var

a,b:

integer;

begin

read(a);

b:

=(a*(a*a))+1;

ifbmod3=0thenb:

=bdiv3;

ifbmod5=0thenb:

=bdiv5;

ifbmod7=0thenb:

=bdiv7;

ifbmod9=0thenb:

=bdiv9;

ifbmod11=0thenb:

=bdiv11;

ifbmod13=0thenb:

=bdiv13;

ifbmod15=0thenb:

=bdiv15;

writeln((100*a-b)div2);

end.

输入:

10

输出:

499

2.var

str:

string;

i:

='

Today-is-terrible!

'

;

fori:

=7to11do

ifstr='

-'

thenstr[i-1]:

x'

=13downto1do

t'

thenstr[i+1]:

e'

writeln(str);

Today-ix-terrible!

3.var

a,b,c,p,q:

r:

array[0..2]ofinteger;

read(a,b,c);

p:

=adivbdivc;

q:

=b-c+a+p;

r[0]:

=a*pdivq*q;

r[1]:

=r[0]*(r[0]-300);

if(3*q-pmod3<

=r[0])and(r[2]=r[2])then

=r[r[0]divpmod2]

elser[1]:

=qmodp;

writeln(r[0]-r[1]);

10073

-7452

4.var

len,i,j:

nchr:

array[0..25]ofinteger;

mmin:

char;

z'

readln(str);

len:

=length(str);

=len;

whilei>

=2dobegin

ifstr[i-1]<

strthenbreak;

dec(i);

end;

ifi=1thenbegin

writeln('

Noresult!

);

exit;

forj:

=1toi-2dowrite(str[j]);

fillchar(nchr,sizeof(nchr),0);

=itolendobegin

if(str[j]>

str[i-1])and(str[j]<

mmin)then

=str[j];

inc(nchr[ord(str[j])-ord('

a'

)]);

dec(nchr[ord(mmin)-ord('

inc(nchr[ord(str[i-1])-ord('

write(mmin);

=0to25do

=1tonchrdo

write(chr(i+ord('

)));

writeln;

zzyzcccbbbaaa

zzzaaabbbcccy

==================C语言==================

1.#include<

stdio.h>

intmain(){

inta,b;

scanf(“%d”,&

a);

b=(a*(a*a))+1;

if(b%3==0)b=b/3;

if(b%5==0)b=b/5;

if(b%7==0)b=b/7;

if(b%9==0)b=b/9;

if(b%11==0)b=b/11;

if(b%13==0)b=b/13;

if(b%15==0)b=b/15;

printf(“%d\n”,(100*a–b)/2);

return0;

}

2.#include<

charstr[20]=“Today-is-terrible!

”;

inti;

for(i=6;

i<

=10;

i++)

if(str==‘-‘)str[i–1]=‘x‘;

for(i=12;

i>

=0;

i--)

if(str==‘t’)str[i+1]=‘e’;

printf(“%s\n”,str);

3.#include<

inta,b,c,p,q,r[3];

scanf(“%d%d%d”,&

a,&

b,&

c);

p=a/b/c;

q=b–c+a+p;

r[0]=a*p/q*q;

r[1]=r[0]*(r[0]–300);

if(3*q–p%3<

=r[0]&

&

r[2]==r[2])

r[1]=r[r[0]/p%2];

else

r[1]=q%p;

printf(“%d\n”,r[0]–r[1]);

4.#include<

#include<

string.h>

intmain(){

charstr[60];

intlen,i,j,chr[26];

charmmin='

scanf("

%s"

str);

len=strlen(str);

for(i=len-1;

=1;

if(str[i-1]<

str)break;

if(i==0){

printf("

\n"

return0;

for(j=0;

j<

i-1;

j++)putchar(str[j]);

memset(chr,0,sizeof(chr));

for(j=i;

len;

j++){

str[i-1]&

str[j]<

mmin)

mmin=str[j];

chr[str[j]-'

]++;

chr[mmin-'

]--;

chr[str[i-1]-'

putchar(mmin);

for(i=0;

26;

for(j=0;

chr;

j++)

putchar(i+'

putchar('

\n'

 

四.完善程序(前4空,每空2分,后5空,每空4分,共28分)

1.判断质数

题目描述:

给出一个正整数,判断这个数是否是质数。

输入:

一个正整数n(1≤n≤10000)。

输出:

如果n是质数,输出”YES”;

否则,输出”NO”。

输入样例:

输出样例:

NO

程序:

var

①n,i:

read(n);

ifn=2thenwriteln(②yes)

elseif(③n=1)or(nmod2=0)thenwriteln('

NO'

elsebegin

=3;

whilei*i<

=ndobegin

if④nmodi=0thenbegin

=i+2;

YES'

2.木材加工

木材厂有一些原木,现在想把这些木头切割成一些长度相同的小段木头(木头有可能有剩余),需要得到的小段的数目是给定的。

当然,我们希望得到的小段越长越好,你的任务是计算能够得到的小段木头的最大长度。

木头长度的单位cm。

原木的长度都是正整数,我们要求切割得到的小段木头的长度也是正整数。

第一行是两个正整数N和K(1≤N≤10000,1≤K≤10000),N是原木的数目,K是需要得到的小段的数目。

接下来的N行,每行有一个1到10000之间的正整数,表示一根原木的长度。

输出能够切割得到的小段的最大长度。

如果连1cm长的小段都切不出来,输出”0”。

37

232

124

456

114

n,k:

len:

array[1..10000]ofinteger;

i,left,right,mid:

functionisok(t:

integer):

boolean;

num,i:

num:

=1tondobegin

ifnum>

=kthenbreak;

num:

=①num+len[i]divt;

if②num>

=knumthenisok:

=true

elseisok:

=false;

readln(n,k);

right:

readln(len);

ifright<

lenthenright:

inc(right);

③left:

=0;

while④left+1<

rightdobegin

mid:

=(left+right)div2;

if⑤notisok(mid)thenright:

=mid

elseleft:

=mid;

writeln(left);

#include<

int①;

%d"

&

n);

if(n==2)puts(②);

elseif(③||n%2==0)puts("

NO"

else{

i=3;

while(i*i<

=n){

if(④){

puts("

i=i+2;

YES"

木材厂有一些原木,现在想把这些木头切割成一些长度相同的小段木头,需要得到的小

段的数目是给定的。

当然,我们希望得到的小段越长越好,你的任务是计算能够得到的小段

木头的最大长度。

木头长度的单位是cm。

原木的长度都是正整数,我们要求切割得到的小段木头的长度

也是正整数。

第一行是两个正整数N和K(1≤N≤10000,1≤K≤10000),N是原木的数目,

K是需要得到的小段的数目。

intn,k,len[10000];

intisok(intt){

intnum=0,i;

for(i=0;

n;

i++){

if(num>

=k)break;

num=①;

if(②)return1;

elsereturn0;

inti,left,right,mid;

%d%d"

n,&

k);

right=0;

(len));

if(right<

len)right=len;

right++;

③;

while(④<

right){

mid=(left+right)/2;

if(⑤)right=mid;

elseleft=mid;

printf("

%d\n"

left);

第十一届全国青少年信息学奥林匹克联赛初赛试题普及组(P&

C)参考答案

 

一.选择一个正确答案代码(A/B/C/D/E),填入每题的括号内(每题1.5分,多选无分,共30分)

题号

1

2

4

5

6

7

8

9

选择

B

A

D

E

D

E

11

12

13

14

15

16

17

18

19

20

 

C

A

C

B

二.问题解答(每题5分,共10分)

1.答:

2.答:

11 

三.阅读程序,并写出程序的正确运行结果:

(每题8分,共32分)

(1)程序的运行结果是:

(2)程序的运行结果是:

Today-ix-terrible!

(3)程序的运行结果是:

(4)程序的运行结果是:

四.根据题意,将程序补充完整(前4空,每空2分,后5空,每空4分,共28分)

pascal语言 

================= 

1.

① 

n,i 

(或者i,n) 

② 

③ 

n=1 

(或者n–1=0) 

    

④ 

nmodi=0 

     

      

2.

num+len[i]divt 

  

 num>

=k     

  

left:

=0

④ 

left+1

⑤ 

notisok(mid)(或者isok(mid)=false)

C语言 

n,i(或者i,n) 

n==1(或者n–1==0) 

n%i==0 

(或者!

n%i) 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1