C++秋及答案.docx

上传人:b****7 文档编号:23964556 上传时间:2023-05-23 格式:DOCX 页数:46 大小:40.82KB
下载 相关 举报
C++秋及答案.docx_第1页
第1页 / 共46页
C++秋及答案.docx_第2页
第2页 / 共46页
C++秋及答案.docx_第3页
第3页 / 共46页
C++秋及答案.docx_第4页
第4页 / 共46页
C++秋及答案.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

C++秋及答案.docx

《C++秋及答案.docx》由会员分享,可在线阅读,更多相关《C++秋及答案.docx(46页珍藏版)》请在冰豆网上搜索。

C++秋及答案.docx

C++秋及答案

2007年秋浙江省高等学校

计算机等级考试试卷(二级C)

说明:

(1)考生应将所有试题的答案填写在答卷上.其中试题一到试题六请在答卷上的各小题选项的对应位置上填“√”.

(2)请将你的准考证号的后五位填写在答卷右下角的指定位置内.

(3)考试时间为90分钟.

试题1(每小题3分,共12分)

阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案,

[程序说明]

输入2个整数lower和upper,输出一张华氏一摄氏温度转换表,华氏温度的取值范

围是[lower,upper],每次增加20F.计算公式如下,式中:

c表示摄氏温度,f表示华氏温度。

C=5x(f一32)/9

运行示例:

Enterlower:

30

Enterupper:

35

fahrcelsius

30-1.1

320.0

341.1

[程序]

#include

main()

{intfahr,lower,upper,

doublecelsius

printf(”Enterlower:

”);

scanf("%d”,&lower”);

printf("Enterupper:

”);

scanf(“%d”,&upper);

printf(”fahrcelsius\n”);

for(fahr=lower;__fahr<=upper__

(1)___fahr+2_;____

(2)____){

celsius=__(5.0/9.0)*(fahr–32)__(3)____;

printf(“%d___%6.lf_(4)_____\n“,fahr,celsius);

}

}

[供选择的答案]

计算机等级考试试卷(二级C)第1页(共7页)

(l)A、fahr<=upperB、fahr

C、fahr>=upparD、fahr>upper

(2)A、fahr++B、fahr=fahr-2

C、fahr+2D、fahr+2

(3)A、5*(fahr–32)/9B、(5.0/9.0)*(fahr–32)

C、5/9*(fahr–32)D、5*fahr-32/9

(4)A、%6dB、%6.2fC、%6.lfD、%6.0f

试题2(每小题3分,共12分)

阅读下列程序说明和程序.在每小题提供的若干可选答案中,挑选一个正确答案.

[程序说明]

输入2个正整数a和n,求a+aa+aaa+aa...a(n个a)之和.要求定义并调用函数

fn(a,n),它的功能是返回aa...a(n个a).例如,fn(3,2)的返回值是33.

运行示例,

Entera:

2

Entern:

3

sum=246

[程序]

#include

main()

{inti,n;

longa,sn;

longfn(longa,intn);

printf(“Entera;”);

scanf(“%ld”,&a);

printf(“Entern:

”);

scanf(“%d”,&n);

_________(5)__sn=0;_____________

for(i=1;i<=n;i++)

_________(6)_sn=sn+fn(a,I);___________

printf(“sum=%ld\n”,sn);

}

longfn(longa,intn)

{inti;

longtn=0;

for(i=1;i<=n;i++){

tn=tn+a;

________(7)___Atn=tn*10;_________

}

计算机等级考试试卷(二级C)笫2页(共7页)

(8)returntn;

}

[供选择的答案]

(5)Asn=0;B;

Csn=1;Dsn=a;

(6)Asn=sn+fn(a,I);Bsn=sn+fn(a,n);

Csn=sn+fn(I,a);Dsn=sn+fn(I,n);

(7)Atn=tn*10;Ba=a*10;

Csn=tn*10;Dsn=sn+a*10;

(8)Areturn;Breturnsn;

Creturna;Dreturntn;

试题3(每小题3分,共12分)

阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

[程序说明]

输入一个以回车结束的字符串(少于80个字符),删除其中除英文字母和数字字符以外的其他字符,再判断新字符串是否对称(不区分大小写字母)。

运行示例1:

Enterastring:

MadamI’mAdam

Yes

运行示例2:

Enterastring:

elephant

No

#include

#include<__ctype.h_(9)___>

main()

{intflag,i,k,length;

charstr[80];

printf(“Enterastring:

”);

gets(str);

i=k=0;

while(str[i]!

=’\0’){

if(isupper(str[i]))str[i]=tolower(str[i]);

if(isdigit(str[i])//isalpha(str[i])){

(_str[k]=str[i];

___10____)

k++;

}

i++;

 

计算机等级考试试卷(二级C)笫3页(共7页)

}

__str[i]=’\0’;__(11)______

length=k;

flag=1;

for(k=0;k<=length/2;k++)

if(str[k]!

=str[length-1-k]){

____flag=0;

_(12)______

break;}

if(flag)printf(“Yes\n”);

elseprintf(“No\n”);

}

[供选择的答案]

(9)A、ctype.hB、string.h

C、stdilb.hD、math.h

(10)A、i++;B、str[k]=str[i];

C、str[i]=str[k];D、;

(11)A、str[i]=’\0’;B、str[i-1]=’\0’;

C、str[k]=’\0’;D、;

(12)A、flag=1;B、flag=0;

C、;D、continue;

试题4(每小题3分,共12分)

阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案.

[程序]

#Iinclude

main()

{inti,,m;

scanf(“%d”,&m);

for(i=2;i<=m/2;i++)

if(m%i==0){

printf(“%d#”,i);

break;}/*第8行*

printf(“%d”,i);}

(13)程序运行时,输入5,输出____13_____

A、3B、3#3

C、3#4D、3#5

(14)程序运行时,输入9,输出___14______

 

计算机等级考试试卷(二级C)笫4页(共7页)

A、3B、3#3

C、3#4D、3#5

(15)将第8行改为”continue;”后,程序运行时,输入9,输出——。

A、3B、3#3

C、3#4D、3#5

(16)将第8行改为“;“后,程序运行时,输入9,输出——。

A、3B、3#3

C、3#4D、3#5

试题5(每小题3分,共12分)

阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。

[程序]

#include

main()

{inti,j,temp;

inta[3][3]={1,2,3,4,5,6,7,8,9};

voidf(int*x,int*y);

for(i=0;i<3;i++)

for(j=0;j<3;j++)

if(i

for(i=0;i<3;i++)

for(j=0;j<3;j++)

printf(“%2d”,a[i][j]);

}

voidf(int*x,int*y)

{intt;

t=*x;*x=*y;*y=t;

}

(17)程序的输出是—(17)——。

A、321654987B、789456123

C、123456789D、147258369

(18)将第8行改为”f(&a[I][j],&a[j][I]);”后,程序的输出是——(18)——。

A、321654987B、789456123

C、123456789D、147258369、

(19)将第8行改为”if(I<2)f(&a[I][j],&a[2-I][j]);”后,程序的输出是——(19)——。

A、321654987B、789456123

C、123456789D、147258369、

(20)将第8行改为”if(j<2)f(&a[I][2-j]);”后,程序的输出是——(20)——。

 

计算机等级考试试卷(二级C)笫5页(共7页)

A、321654987B、789456123

C、123456789D、147258369

试题6(每小题3分,共12分)

#include

main()

{inti,x1,x2;

inta[5]={1,2,3,4,5};

voidf1(intx,inty),f2(int*x,int*y);

x1=x2=0;

for(i=1;i<5;i++){

if(a[i]

x2=i;

}

f2(&a[x1],&a[0]);

for(i=0;i<5;i++)printf(“%2d”,a[i]);

printf(“\n”);

f1(a[x2],a[1]);

for(i=0;i<5;i++)printf(“%2d”,a[i]);

printf(“\n”);

f2(&a[x2],&a[4]);

for(i=0;i<5;i++)printf(“%2d”,a[i]);

printf(“\n”);

f1(a[x1],a[3]);

for(i=0;i<5;i++)printf(“%2d”,a[i]);

printf(“\n”);

}

voidf1(int*x,int*y)

{intt;

t=x;x=y;y=t;

}

voidf2(int*x,int*y)

{intt;

t=*x;*x=*y;*y=t;

}

(21)程序运行时,第1行输出——(21)——。

A.12345B。

21345

 

计算机等级考试试卷(二级C)笫6页(共7页)

C、12354D、52341

(22)程序运行时,第2行输出:

_____(22)_____

A、21345B、52341

C、25341D、12345

(23)程序运行时,第3行输出_______(23)______.

A、12354B、25341

C、12345D、52341

(24)程序运行时,第4行输出_______(24)_____.

A、52314B、12345

C、12354D、52341

试题7(28分)

从n个不同的元素中,每次取出k个不同的元素,丕管其顺序合并成一组,称为组合.

组合种数计箅公式如下..

Cnk=n!

/((n-k)!

*k!

1)定义函数fact(n)计算n!

类型double.

2)定义函数cal(k,n),计算组合种数Cnk,类型double.要求调用fact(n)计算n!

3)定义函数main(),输入正整数n,输出n的所有组合数

Cnk,要求调用函数cal(k,n).

 

答案:

试题1:

1、A2、D3、B4、C

试题2:

5、A6、A7、A8、D

试题3:

9、A10、B11、A12、B

试题4:

13、A14、B15、D16、D

试题5:

17、D18、C19、B20、A

试题6:

21、D22、D23、D24、B

试题7:

#include“stdio.h”

doublefact(intn)

{intk;doubleresult=1;

for(k=1;k<=n;k++)

result*=k;

returnresult;

}

doublecal(intk,intn)

{doubleresult;

result=fact(n)/(fact(n-k)*fact(k));

returnresult;

}

voidmain()

{intn,k;

doublex;

scanf(“%d”,&n);

for(k=1;k<=n;k++)

{x=cal(k,n);

printf(“%f\n”,x);

}

}

 

计算机等级考试试卷(二级C)笫7页(共7页)

2006年春浙江省高等学校

计算机等级考试试卷(二级C)

说明:

⑴考生应将所有试题的答案填写在答卷上。

其中试题1~试题6,请在答卷上各小题正确选项的对应位置处填“√”;

⑵请将你的准考证号的后五位填写在答卷右下角的指定位置内;

⑶考试时间为90分钟;

试题1(每小题3分,共12分)

阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】

求1+2/3+3/5+4/7+5/9+…的前20项之和。

运行示例:

sum=11.239837

【程序】

#include

voidmain()

{

inti,b=1;

doubles;

(1);

for(i=1;i<=20;i++){

s=s+

(2);

(3)

}

printf((4),s);

}

【供选择的答案】

(1)A、s=0B、s=1

C、s=-1D、s=2

(2)A、i/bB、double(i)/double(b)

C、i/2*i-1D、(double)i/(double)b

(3)A、;B、b=2*i–1;

C、b=1.0*b;D、b=b+2;

(4)A、"sum=%d\n"B、"s=%c\n"

C、"sum=%f\n"D、"s=%s\n"

试题2(每小题3分,共12分)

阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】

输入10个整数,将它们从大到小排序后输出。

运行示例:

Enter10integers:

14-9991008706534

Aftersorted:

10099873465410-9

【程序】

#include

voidmain()

{inti,j,t,a[10];

printf("Enter10integers:

");

for(i=0;i<10;i++)

scanf((5));

for(i=1;i<10;i++)

for((6);(7);j++)

if((8)){

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

printf("Aftersorted:

");

for(i=0;i<10;i++)

printf("%d",a[i]);

printf("\n");

}

【供选择的答案】

(5)A、"%f",a[i]B、"%lf",&a[i]

C、"%s",aD、"%d",&a[i]

(6)A、j=0B、j=1

C、j=iD、j=i-1

(7)A、j>iB、j<9-i

C、j<10-iD、j>i-1

(8)A、a[i-1]

C、a[j]

试题3(每小题3分,共12分)

阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】

输入一个字符串和一个正整数m,将该字符串中的前m个字符复制到另一个字符串中,再输出后一个字符串。

运行示例1:

Enterastring:

103+895=?

Enteraninteger:

6

Thenewstringis103+89

运行示例2:

Enterastring:

103+895=?

Enteraninteger:

60

Thenewstringis103+895=?

运行示例3:

Enterastring:

103+895=?

Enteraninteger:

0

Thenewstringis

【程序】

#include

#include<(9)>

voidmain()

{chars[80],t[80],i,m;

printf("Enterastring:

");

gets(s);

printf("Enteraninteger:

");

scanf("%d",&m);

for(i=0;(10);i++)

(11);

(12)

printf("Thenewstringis");

puts(t);

}

【供选择的答案】

(9)A、ctype.hB、math.h

C、stdio.hD、string.h

(10)A、i

='\0'

C、s[i]!

='\0'&&i

='\0'||i

(11)A、*s++=*t++B、t[i]=s[i]

C、*t++=*s++D、s[i]=t[i]

(12)A、t[i]='\0';B、;

C、*++s='\0';D、*++t='\0';

 

试题4(每小题3分,共12分)

阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序】

#include

voidmain()

{ints,x1,y1,z1,x2,y2,z2;

printf("Enter6integers:

");

scanf("%d%d%d%d%d%d",&x1,&y1,&z1,&x2,&y2,&z2);

s=f(x2,y2,z2)-f(x1,y1,z1);

printf("%d\n",s);

}

f(intx,inty,intz)

{intk,n;

inttab[2][13]={

{0,31,28,31,30,31,30,31,31,30,31,30,31},

{0,31,29,31,30,31,30,31,31,30,31,30,31}

};

n=(x%4==0&&x%100!

=0||x%400==0);

for(k=1;k

z=z+tab[n][k];

returnz;

}

(13)程序运行时,输入100000,输出(13)。

A、29B、28C、0D、-1

(14)程序运行时,输入001000,输出(14)。

A、29B、28C、0D、-1

(15)程序运行时,输入200021200031,输出(15)。

A、29B、28C、0D、-1

(16)程序运行时,输入198121198131,输出(16)。

A、29B、28C、0D、-1

试题5(每小题3分,共12分)

阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序】

#include

voidmain()

{inta=-1,b=1;

voidf1(intx,inty),f2(int*x,int*y);

voidf3(int*x,int*y),f4(intx,inty);

f1(a,b);

printf("(%d,%d)\n",a,b);

a=-1,b=1;

f2(&a,&b);

printf("(%d,%d)\n",a,b);

a=-1,b=1;

f3(&a,&b);

printf("(%d,%d)\n",a,b);

a=-1,b=1;

f4(a,b);

printf("(%d,%d)\n",a,b);

}

voidf1(intx,inty)

{intt;

t=x;x=y;y=t;

}

voidf2(int*x,int*y)

{intt;

t=*x;*x=*y;*y=t;

}

voidf3(int*x,i

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

当前位置:首页 > 经管营销 > 经济市场

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

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