C++试题Word下载.docx

上传人:b****6 文档编号:20836783 上传时间:2023-01-25 格式:DOCX 页数:20 大小:33.39KB
下载 相关 举报
C++试题Word下载.docx_第1页
第1页 / 共20页
C++试题Word下载.docx_第2页
第2页 / 共20页
C++试题Word下载.docx_第3页
第3页 / 共20页
C++试题Word下载.docx_第4页
第4页 / 共20页
C++试题Word下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

C++试题Word下载.docx

《C++试题Word下载.docx》由会员分享,可在线阅读,更多相关《C++试题Word下载.docx(20页珍藏版)》请在冰豆网上搜索。

C++试题Word下载.docx

i<

10;

i++,sum+=i);

22.当调用函数时,实参是一个数组名,则向函数传送的是________。

23.若由定义inta[10],*p则欲使p指向数组a,可采用__________和___________两种方法。

24.循环结构的算法其对应的语法表述有三种:

分别是____________、____________和____________语句。

25.break语句可以用在_________________和_________________中。

二.程序填空

1.10的阶乘之和

#include"

iostream.h"

_________________

voidmain()

{

doublesum=0,n;

for(n=1;

n<

=10;

n++)

__________________

cout<

"

Thesumis:

sum<

endl;

}

doublefactorial(doublem)

if(m<

=1)

return1;

else

return__________________;

}

2.求出100以内的所有素数:

_______________

intprime_number(intm);

intn;

for(n=3;

N;

if(_______________)cout<

"

;

intprime_number(intm)

inti,flag=1;

for(i=2;

m;

i++)

if(m%i==0)

{

_______________;

break;

}

returnflag;

3.冒泡法排序

#defineN10

voidchange(_______________)

intt;

t=m;

m=n;

n=t;

voidarrange(_______________)

inti,j;

for(j=1;

j<

number;

j++)

for(i=0;

number-j;

if(*(p+i)>

*(p+i+1))

_______________;

inta[N],i;

for(i=0;

cin>

>

a[i];

_______________;

cout<

a[i]<

4.输入字串,输出其中的字母:

stdio.h"

voidfind(char*str1,char*str2)

for(i=0,j=0;

*(str1+i)!

='

\0'

if(*(str1+i)>

*(str1+i)<

z'

||*(str1+i)>

A'

Z'

*(str2+j)=*(str1+i);

char*a,*b;

gets(a);

find(a,b);

puts(b);

5.输出一个点

#include"

classpoint

public:

point(intx,inty);

~point()

{

cout<

X<

"

Y<

}

private:

intX;

intY;

};

point:

:

point(intx,inty)

__________________;

pointp1(10,10);

6.求两个正整数的最大公约数

voidchange(__________________)

if(a>

b)

t=a;

a=b;

b=t;

intm,n,i,min_common_divisor;

cin>

m>

n;

change(m,n);

for(i=n;

i>

=1;

i--)

if__________________)

min_common_divisor=i;

__________________;

min_common_divisor<

7.计算两门功课的平均成绩

#include"

classstu

voidfun_put();

voidfun_sum();

staticfloatfun_out_sum(intn);

charname[10];

floatscore[2];

staticfloatsum[2];

floatstu:

sum[2]={__________________};

voidstu:

fun_put()

请输入该生姓名"

name;

请输入该生的两门功课的成绩"

score[0]>

score[1];

fun_sum()

sum[0]+=score[0];

sum[1]+=score[1];

fun_out_sum(intn)

return__________________;

stust[3];

inti;

floatscore_sum[2];

3;

st[i].fun_put();

__________________;

2;

score_sum[i]=stu:

score_sum[i]/3<

8.友元应用

classstudent

intNo;

char*Name;

student(intn,char*str);

~student();

__________________

voidf_age(intag,student__________________);

intage;

student:

student(intn,char*str)

No=n;

Name=str;

age=18;

~student()

学号"

No<

姓名"

Name<

年龄"

age<

voidf_age(intag,student__________________)

p.age=ag;

友元年龄"

p.age<

studentwang(5074401,"

wang"

);

f_age(30,wang);

9.求3个数的最大值

#include<

iostream.h>

floata,b,c,t;

_______________;

if(a<

b){t=a;

c){t=a;

a=c;

c=t;

”max=”<

________;

10.将10个数逆序存放

__________________

voidmain()

{inta[N],*p1,*p2;

for(p1=a;

p1<

a+N;

p1++)

cin<

*p;

p1=a;

p2=a+N-1;

for(;

p2;

_____________)

{t=*p1;

*p1=*p2;

*p2=t;

for(p1=a;

””<

endl 

11.求最高分且指出学号

intscore;

voidput_number();

charm_number[20];

voidstudent:

get_number(charnumber[])

number[i]!

m_number[i]=number[i];

put_number()

m_number<

studentst[3];

inti,p;

char*number=_______________;

请输入第"

i+1<

个学生的学号和成绩:

st[i].get_number(number);

st[i].score;

for(i=0,p=0;

if(st[p].score<

=st[i].score)

最高成绩为"

st[p].put_number();

同学的:

st[p].score<

三、阅读程序写出运行结果

1.

#include<

classA

{public:

A(inth,intw):

he(h),we(w){}

~A(){cout<

he<

‘,’<

we}

inthe,we;

classB:

publicA

B(inth,intw,inth1,intw1,intl):

A(h,w),obj1(h1,w1){len=l;

}

~B(){cout<

len<

private:

Aobj1;

intlen;

Bobj(1,2,3,4,5);

2.#include"

voidfind(charstr1[],charstr2[])

str1[i]!

if(str1[i]>

str1[i]<

||str1[i]>

str1[i]<

str2[j]=str1[i];

j++;

str2[j]=’\0’;

a=newchar[];

b=newchar[];

输入字串如下:

aAtg234Hj\n

3.

main()

for(i=1;

=5;

=i;

printf("

%d*%d=%d"

i,j,i*j);

if(i==j)printf("

\n"

4.

#include<

stdio.h>

intc;

 

while((c=getchar())!

\n'

switch(c-'

2'

case0:

case1:

putchar(c+2);

case2:

putchar(c+4);

break;

case3:

putchar(c+3);

case4:

程序运行时,从第一列开始输入以下数据,<

CR>

代表一个回车符。

2345<

5.

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:

a++;

break;

case1:

b++;

b++;

“a=”<

a<

“b=”<

b<

6.

voidm(intb[],intn);

inta[10]={0,1,3,2,56,100,32,4,7,10};

m(a,10);

=9;

%8d"

a[i]);

voidm(intb[],intn)

inti,j,p,t;

=n-1;

{

p=0;

=n-j;

if(b[i]>

b[p])

p=i;

t=b[p];

b[p]=b[n-j];

b[n-j]=t;

7.

voidswap(pa,pb)

int*pa,*pb;

int*t;

t=pa;

pa=pb;

pb=t;

inta,b,*p1=&

a,*p2=&

b;

a>

A=”<

“,B=“<

if(a<

swap(p1,p2);

当输入35<

回车>

输出结果是:

8.

{

intj,k;

for(k=1;

k<

=j;

k++)

printf(“%d*%d=%-5d”,j,k,j*k);

printf(“\n”);

9.

inta=23;

floatx=2.6;

charc=’a’;

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

printf(“%4d%10.3f%d,&

c\n”,a,x,c,c);

10.

student(intn);

student(student&

p);

staticintNo;

studentp1(20);

studentp2(p1);

studentp3(p1);

intstudent:

No=1;

student(intn)

age=n;

student(student&

p)

age=(p.age)++;

No++<

四、分析以下程序并回答问题:

classAclassB:

{public:

voidf1();

voidf3();

inti;

protected:

protected:

intm;

voidf2();

intj;

intn;

};

intk;

classC:

publicBvoidmain()

{Aa1;

voidf4();

Bb1;

Cc1;

intp;

(1)在main函数中能否用b1.i,b1.j,b1.k引用类B对象b1中基类A的成员?

为什么?

(2)能否在main函数中用c1.f1(),c1.f2(),c1.f3()和c1.f4()调用f1,f2,f3,f4成员函数?

为什么?

(3)类C的成员函数f4能否调用基类A中的成员函数f1,f2和派生类中的成员函数f3?

(4)如果把类B从类A的继承方式改为protected,回答问题

(1)。

五、编程

1.已知下列分段函数:

编写程序输入x的值,求y的值,并画出N-S流程图。

2.输入任意x,求y的值,画出N-S流程图。

3.求数列:

前20项的和,画出N-S流程图。

4.求

前20项的累加和。

5.有数列:

f1=1,

f2=1,

fn=fn-1+fn-2,求该数列第20项。

6.已知数列:

编一程序,求其前十项的和。

(画出流程图)

7.编写函数求n个数的最大值(n≥10),且指出其在整个数列中的位置。

8.统计一字串中字母、数字和其他字符的个数,并把字母存入另一个字串中。

9.编写一函数,将输入的n(n≥10)个整数中最小的数与第一个数对换,最大的数与最后一个数对换。

10.下面这个程序的功能是找出一个整型数组中元素的最大值。

程序给出了类的定义和主函数,请把它补充完整。

classArray_max//声明类

voidset_value();

//对数组元素设置值

voidmax_value();

//找出数组中的最大元素

voidshow_value();

//输出最大元素

intarray[10];

//整型数组

intmax;

//max用来存放最大值

voidmain()//主函数

{Array_maxarry;

arry.set_value();

arry.max_value();

arry.show_value();

11.编写一函数将字符串中的第m个字符开始的字母字符复制成另一个字符串,(主函数如下)。

string.h>

voidcopystr(m);

intm;

charstr1[80],str2[80];

printf("

Pleaseinputastring:

gets(str2);

Inputm:

scanf("

%d"

&

m);

if(strlen(str2)<

m)printf("

errorinput!

\n"

else

copystr(str1,str2,

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

当前位置:首页 > 高等教育 > 法学

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

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