NOIP2014初賽普及組C++題目及答案_第1頁
NOIP2014初賽普及組C++題目及答案_第2頁
NOIP2014初賽普及組C++題目及答案_第3頁
NOIP2014初賽普及組C++題目及答案_第4頁
NOIP2014初賽普及組C++題目及答案_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

精選優(yōu)質(zhì)文檔-----傾情為你奉上精選優(yōu)質(zhì)文檔-----傾情為你奉上專心---專注---專業(yè)專心---專注---專業(yè)精選優(yōu)質(zhì)文檔-----傾情為你奉上專心---專注---專業(yè)第二十屆全國青少年信息學奧林匹克聯(lián)賽初賽普及組C++語言試題2014年快單項選擇題(共20題,每題1.5分,共計30分;每題有且僅有一個正確選項)

⒈以下哪個是面向?qū)ο蟮母呒壵Z言(

)。

A.匯編語言

B.C++

C.Fortran

D.Basic

⒉1TB代表的字節(jié)數(shù)是(

)。

A.2的10次方

B.2的20次方

C.2的30次方

D.2的40次方

⒊二進制數(shù)和的和是(

)。

A.

B.

C.

D.

⒋以下哪一種設備屬于輸出設備(

)。

A.掃描儀

B.鍵盤

C.鼠標

D.打印機

⒌下列對操作系統(tǒng)功能的描述最為完整的是(

)。

A.負責外設與主機之間的信息交換

B.負責診斷機器的故障

C.控制和管理計算機系統(tǒng)的各種硬件和軟件資源的使用

D.將沒有程序編譯成目標程序

⒍CPU、存儲器、I/O設備是通過(

)連接起來的。

接口

B.總線

C.控制線

D.系統(tǒng)文件

⒎斷電后會丟失數(shù)據(jù)的存儲器是(

)。

A.RAM

B.ROM

C.硬盤

D.光盤

⒏以下哪一種是屬于電子郵件收發(fā)的協(xié)議(

)。

A.SMTP

B.UDP

C.P2P

D.FTP

⒐下列選項中不屬于圖像格式的是(

)。

JPEG格式

B.TXT格式

C.GIF格式

D.PNG格式

⒑鏈表不具有的特點是(

)。

A.不必事物估計存儲空間

B.可隨機訪問任一元素

C.插入刪除不需要移動元素

D.所需空間與線性表長度成正比

⒒下列各無符號十進制整數(shù)中,能用八位二進制表示的數(shù)中最大的是(

)。

A.296

B.133

C.256

D.199

⒓下列幾個32位IP地址中,書寫錯誤的是(

)。

A.7

B.

C.256.256.129.1

D.

⒔要求以下程序的功能是計算:s=1+1/2+1/3+...+1/10。

#include

<iostream>

using

namespace

std;

int

main()

{

int

n;

float

s;

s

=

1.0;

for(n

=

10;

n

>

1;

n--)

s

=

s

+

1

/

n;

cout

<<

s

<<

endl;

return

0;

}

程序運行后輸出結(jié)果錯誤,導致錯誤結(jié)果的程序行是(

)。

A.s

=

1.0;

B.for(n

=

10;

n

>

1;

n--)

C.s

=

s

+

1

/

n;

D.cout

<<

s

<<

endl;

⒕設變量x為float型且已賦值,則以下語句中能將x中的數(shù)值保留到小數(shù)點后兩位,并將第三位四舍五入的是(

)。

A.x

=

(x

*

100)

+

0.5

/

100.0;

B.x

=

(x

*

100

+

0.5)

/

100.0;

C.x

=

(int)(x

*

100

+

0.5)/100.0;

D.x

=

(x

/

100

+

0.5)

*

100.0;

⒖有以下程序

#include

<iostream>using

namespace

std;

int

main()

{

int

s,

a,

n;

s

=

0;

a

=

1;

cin

>>

n;

do

{

s

+=

1;

a

-=

2;

}while(a

!=

n);

cout

<<

s

<<

endl;

return

0;

}

若要使程序的輸出值為2,則應該從鍵盤給n輸入的值是(

)。

A.-1

B.-3

C.-5

D.0

⒗一棵具有5層的滿二叉樹中結(jié)點數(shù)為(

)。

A.31

B.32

C.33

D.16

⒘有向圖中每個頂點的度等于該頂點的(

)。

A.入度

B.出度

C.入度和出度之和

D.入度和出度之差

⒙設有100個數(shù)據(jù)元素,采用折半搜索時,最大比較次數(shù)為(

)。

A.6

B.7

C.8

D.10

⒚若有如下程序段,其中s、a、b、c均已定義為整型變量,且a、c均已賦值,c>0。

s

=

a;

for(b

=

1;

b

<=

c;

b++)

s

+=

1;

則與上述程序段功能等價的賦值語句是(

)。

A.s

=

a

+

b

B.s

=

a

+

c

C.s

=

s

+

c

D.s

=

b

+

c

⒛計算機界的最高獎是(

)。

A.菲爾茲獎

B.諾貝爾獎

C.圖靈獎

D.普利策獎

二、問題求解(共2題,每題5分,共計10分;每題全部答對得5分,沒有部分分)

1.把M個同樣的球放到N個同樣的袋子里,允許有的袋子空著不放,問共有多少種不同的放置方法?(用K表示)。

例如,M=7,N=3時,K=8;在這里認為和是同一種放置方法。

問:M=8,N=5時,K=

。

2.如圖所示,圖中每條邊上的數(shù)字表示該邊的長度,則從A到E的最短距離是

。

三、閱讀程序?qū)懡Y(jié)果(共4題,每題8分,共計32分)1.

#include

<iostream>

using

namespace

std;

int

main()

{

int

a,

b,

c,

d,

ans;

cin

>>

a

>>

b

>>

c;

d

=

a-

b;

a

=

d

+

c;

ans

=

a

*

b;

cout

<<

"Ans

=

"

<<

ans

<<

endl;

return

0;

}

輸入:2

3

4

輸出:Ans

=

2.#include

<iostream>

using

namespace

std;

int

fun(int

n)

{

if(n

==

1)

return

1;

if(n

==

2)

return

2;

return

fun(n

-2)

-

fun(n

-

1);

}

int

main()

{

int

n;

cin

>>

n;

cout

<<

fun(n)

<<

endl;

return

0;

}

輸入:7

輸出:

3.#include

<iostream>

#include

<string>

using

namespace

std;

int

main()

{

string

st;

int

i,

len;

getline(cin,

st);

len

=

st.size();

for(i

=

0;

i

<

len;

i++)

if(st[i]

>=

'a'

&&

st[i]

<=

'z')

st[i]

=

st[i]

-

'a'

+

'A';

cout

<<

st

<<

endl;

return

0;

}

輸入:Hello,

my

name

is

Lostmonkey.

輸出:

4.

#include

<iostream>

using

namespace

std;

const

int

SIZE

=

100;

int

main()

{

int

p[SIZE];

int

n,

tot,

i,

cn;

tot

=

0;

cin

>>

n;

for(i

=

1;

i

<=

n;

i++)

p[i]

=

1;

for(i

=

2;

i

<=

n;

i++)

{

if(p[i]

==

1)

tot++;

cn

=

i

*

2;

while(cn

<=

n)

{

p[cn]

=

0;

cn

+=

i;

}

}

cout

<<

tot

<<

endl;

return

0;

}

輸入:30

輸出:四、完善程序(共2題,共計28分)

1.(數(shù)字刪除)下面程序的功能是將字符串中的數(shù)字字符刪除后輸出。請?zhí)羁铡?每空3分,共12分)

#include

<iostream>

using

namespace

std;

int

delnum(char

*s)

{

int

i,

j;

j

=

0;

for(i

=

0;

s[i]

!=

'\0';

i++)

if(s[i]

<

'0'

①s[i]

>

'9')

{

s[j]

=

s[i];

②;

}

return

③;

}

const

int

SIZE

=

30;

int

main()

{

char

s[SIZE];

int

len,

i;

cin.getline(s,

sizeof(s));

len

=

delnum(s);

for(i

=

0;

i

<

len;

i++)

cout

<<

④;

cout

<<

endl;

return

0;

}

2.(最大子矩陣和)給出m行n列的整數(shù)矩陣,求最大的子矩陣和(子矩陣不能為空)。

輸入第一行包含兩個整數(shù)m和n,即矩陣的行數(shù)和列數(shù)。之后m行,每行n個整數(shù),描述整個矩陣。程序最終輸出最大的子矩陣和。(最后一空4分,其余3分,共16分)

比如在如下這個矩陣中:

4

4

0

-2

-7

0

9

2

-6

2

-4

1

-4

1

-1

8

0

-2

擁有最大和的子矩陣為:

9

2

-4

1

-1

8

其和為15

3

3

-2

10

20

-1

100

-2

0

-2

-3

最大子矩陣和為128

4

4

0

-2

-9

-9

-9

11

5

7

-4

-3

-7

-6

-1

7

7

5

最大子矩陣和為26

#include

<iostream>

using

namespace

std;

const

int

SIZE

=

100;

int

matrix[SIZE

+

1][SIZE

+

1];

int

rowsum[SIZE

+

1][SIZE

+

1];

//rowsum[i][j]記錄第i行前j個數(shù)的和

int

m,

n,

i,

j,

first,

last,

area,

ans;

int

main()

{

cin

>>

m

>>

n;

for(i

=

1;

i

<=

m;

i++)

for(j

=

1;

j

<=

n;

j++)

cin

>>

matrix[i][j];

ans

=

matrix①;

for(i

=

1;

i

<=

m;

i

++)

for(i

=

1;

i

<=

m;

i++)

for(j

=

1;

j

<=

n;

j++)

rowsum[i][j]

=

③;

for(first

=

1;

first

<=

n;

first++)

for(last

=

first;

last

<=

n;

last++)

{

④;

for(i

=

1;

i

<=

m;

i++)

{

area

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論