试卷 完善程序(测试)
完善程序(测试)
第1部分
第 1-5 题    组合题

(坐标统计)输人n个整点在平面上的坐标。对于每个点,可以控制所有位于它左下方的点(即xy坐标都比它小),它可以控制的点的数目称为“战斗力”。依次输出每个点的战斗力,最后输出战斗力最高的点的编号(如果若干个点的战斗力并列最高,输出其中最大的编号)。


第1题 单选

1处应填(     )。

A.

i

B.

0

C.

x[i]

D.

y[i] 

第2题 单选

2处应填(     )。

A.

у[i]<у[j] 

B.

y[j]<у[i]

C.

y[i]<=y[j]

D.

y[j]<=y[i]

第3题 单选

3处应填(     )。

A.

f[i]=x[i] 

B.

f[i]=0 

C.

f[i]++    

D.

f[i]=y[i] 

第4题 单选

4处应填( )。

A.

f[i]>max_f 

B.

f[i]<max_f

C.

f[i]>=max_f

D.

f[i]<=max_f 

第5题 单选

5处应填( )。

A.

ans=i 

B.

ans<max_f 

C.

ans=f[i] 

D.

ans=0

第 6-10 题    组合题

(最大连续子段和)给出一个数列(元素个数不多于100),数列元素均为负整数、正整数、0。请找出数列中的一个连续子数列,使得这个子数列中包含的所有元素之和最大,在和最大的前提下还要求该子数列包含的元素个数最多,并输出这个最大和以及该连续子数列中元素的个数。例如数列为4-5324时,输出9和3;数列为123-5078时,输出16和7。


第6题 单选

1处应填(     )。

A.

1

B.

0

C.

n

D.

101

第7题 单选

2处应填(     )。

A.

tmp+a[i]>ans

B.

tmp+a[i]=ans

C.

tmp+a[i]>n 

D.

tmp+a[i]==ans 

第8题 单选

3处应填(     )。

A.

<0 

B.

<ans

C.

<tmp 

D.

min(0,ans,tmp) 

第9题 单选

4处应填(     )。

A.

1

B.

0

C.

n

D.

i

第10题 单选

5处应填(     )。

A.

tmp+=a[i] 

B.

tmp=i+1 

C.

beg=i    

D.

beg=i+1

第 11-15 题    组合题

(读入整数)请完善下面的程序,使得程序能够读入两个int范围内的整数,并将这两个整数分别输出,每行一个。

   输入的整数之间和前后只会出现空格或者回车,输入数据保证合法。

例如

输入

   123

      -789

   输出

       123

      -789


第11题 单选

1处应填(     )。

A.

c-'0'

B.

'0' 

C.

c+'0' 

D.

cin.get()

第12题 单选

2处应填(     )。

A.

num=0

B.

num=c-'0'

C.

num=c-'a'

D.

num=c

第13题 单选

3处应填(     )。

A.

c>='0'&&c<='9' 

B.

c>='a'&&с<='z' 

C.

c<'0'||c>'9' 

D.

c!='_'

第14题 单选

4处应填(     )。

A.

num=num+c-'0' 

B.

num=num*10+c-'0'

C.

num=num+c

D.

num=num*10+c

第15题 单选

5处应填(     )。

A.

num=-num 

B.

num=num+num

C.

num- -

D.

num++ 

第 16-20 题    组合题

(字符串替换)给定一个字符串S(S仅包含大小写字母),下面的程序将S中的每个字母用规定的字母替换,并输出S经过替换后的结果。程序的输入是两个字符串,第一个字符串是给定的字符串S,第二个字符串S’由26个字母组成,它是a-z的任一排列,大小写不定,S’规定了每个字母对应的替换字母:S'中的第一个字母是字母A和a的替换字母,即S中的A用该字母的大写替换,S中的a该字母的小写替换;S中的第二个字母是字母B和b的替换字母,即S中的B用该字母的大写替换,S中的b用该字母的小写替换;……以此类推。


第16题 单选

1处应填(   )。

A.

change[i]>='a'&&change[i]<='z'

B.

change[i]<'A'||change[i]>'z'

C.

change[i]>='A'&&change[i]<='z'

D.

change[i]<'a'&&change[i]>'z'

第17题 单选

2处应填(  )。

A.

str.size()  

B.

strlen(str)

C.

chang.size()

D.

strlen(chang)

第18题 单选

3处应填(   )。

A.

str[i]>='a'&&str[i]<='z' 

B.

str[i]<'A'&&str[i]>'z'

C.

str[i]<'a'&&str[i]>'z' 

D.

str[i]>='A'&&str[i]<='z'

第19题 单选

4处应填(   )。

A.

change[str[i]-'a']=str[i];

B.

str[i]=change[str[i]-'a'];

C.

str[i]=change[str[i]-'A'];

D.

change[str[i]-'z']=str[i];

第20题 单选

5处应填( )。

A.

int len=strlen(str);

B.

Changestring();

C.

ChangeString();

D.

changeString();

第 21-25 题    组合题

(矩阵中的数字)有一个n*n(1<n<5000)的矩阵a,对于l<i<n,1<j<n,a[i][j]<a[i+1][j], a[j][i]<a[j][i+1]。即矩阵中左右相邻的两个元素,右边的元素一定比左边的大。上下相

列(注意:输人数据保证矩阵中的数各不相同)。 邻的两个元素,下面的元素一定比上面的大。给定矩阵a中的一个数字k,找出k所在的行列(注意:输入数据保证矩阵中的数各不相同)。


第21题 单选

1处应填(   )。       

A.

j- - 

B.

j++

C.

i++

D.

i- -

第22题 单选

2处应填(   )。

A.

a[i][j]>k

B.

a[i][j]<k

C.

a[i][j]<=k

D.

a[i][j]!=k

第23题 单选

3处应填(   )。

A.

a[i][j]>k

B.

a[i][j]<k

C.

a[i][j]>=k

D.

a[i][j]!=k

第24题 单选

4处应填(   )。

A.

answerx=i+1

B.

answerx=i-1

C.

answerx=j

D.

answerx=i

第25题 单选

5处应填(   )。

A.

answerx=j+1

B.

answerx=j-1

C.

answerx=i

D.

answerx=j

答题卡
第1部分
题目总数:5
总分数:125
时间:不限时