C++期末考试复习题经典大题整合Word文件下载.docx
- 文档编号:21416298
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:16
- 大小:18.48KB
C++期末考试复习题经典大题整合Word文件下载.docx
《C++期末考试复习题经典大题整合Word文件下载.docx》由会员分享,可在线阅读,更多相关《C++期末考试复习题经典大题整合Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。
(ch<
=’z’))
i=1;
else{if(②(ch>
=’A’)&
=’Z’))
i=2;
elsei=3;
③returni;
}
”请输入一个字符:
cin>
ch;
i=fun(ch);
if(i==1)
cout<
”是小写字母:
”<
ch<
elseif(④i==2)
”是大写字母:
elsecout<
”是其它字符:
}
9、下面是字符串拷贝程序,请填空。
voidccopy()
{charch1[]=”goodmorning!
”,ch2[20];
inti=0,j=0;
while(①ch1[i++])
{ch2[j]=②ch1[i-1];
③j++;
}
④ch2[i-1]=’\0’;
10、下面函数是寻找二维数组中每一行的最大值,请填空。
#defineN5
#defineM5
voidmax(inta[N][M])
{inti,j,p;
for(i=0;
N;
{①p=0;
for(j=1;
j<
M;
j++)
if(a[i][p]<
a[i][j])
②p=j;
”:
p<
11、下面程序是将字符逆序化,请填空。
①intj=0;
{charch[]=”hello,boy!
charc;
inti=0,j=strlen(ch);
for(;
②i<
strlen(ch)/2;
i++,j--)
{c=ch[i];
③ch[i]=ch[j-1];
ch[j-1]=c;
}
12、下面程序的功能是将矩阵转置,请填空。
#include<
#defineI3
#defineJ4
voidinvert(inta[I][J])
{inti,j;
intb[J][I];
”arraya:
for(i=0;
I;
{for(j=0;
J;
{cout<
a[i][j]<
”“;
①b[j][i]=a[i][j];
”arrayb:
b[i][j]<
intmain()
{inta[I][J]={{1,2,3,4},{5,6,7,8},{1,3,5,7}};
②invert(a);
return0;
三、程序分析题
1、下面程序的输出结果是( 816 )
intfunc(inta,intb)
{staticintm=0;
inti=2;
i+=m+1;
m=i+a+b;
return(m);
{intk=4,m=1,p;
p=func(k,m);
p;
2、下面程序的输出结果是( 61515 )
intd=1;
fun(intp)
{staticintd=5;
d+=p;
d;
return(d);
intmain()
{inta=3;
fun(a+fun(d))<
3、下面程序的执行结果是( hlo )
charch[]=”hello,boy!
voidfun2(inti);
voidfun1(inti)
{cout<
ch[i];
if(i<
3)
{i+=2;
fun2(i);
voidfun2(inti)
if(i<
fun1(i);
}}
{inti=0;
4、下面程序的执行结果是(Thearrayis:
(换行)a[0]is0a[1]is1a[2]is2a[3]is2a[4]is6a[5]is14)
{inta[10]={0,1,2};
intj;
for(j=2;
6;
a[j+1]=a[j]+2×
a[j-1]×
a[j-2];
”Thearrayis:
for(j=0;
”a[“<
”]is”<
a[j];
5、当输入123时,下列程序的输出结果是( 123 )
{intstr[3],i,*p=str;
3;
{cin>
*p++;
*(p-1);
6、下面程序的输出结果是( 6 )
voidfunc(int*a,intb[])
{b[0]=*a+6;
{inta,b[5];
a=0;
b[0]=3;
func(&
a,b);
cout<
b[0];
7、下列程序的输出结果是( 6 )
intb=2;
intfunc(int*a)
{b+=*a;
return(b);
{inta=2,res=2;
res+=func(&
a);
res;
8、下面程序的输出结果是( 3600 )
intw=3;
intfun(int);
{intw=10;
fun(5)×
w<
intfun(intk)
{if(k==0)returnw;
return(fun(k-1)*k);
9、下面程序的输出结果是( 789 )
intf(int);
{inta=2,j;
f(a)<
;
intf(inta)
{intb=0;
staticintc=3;
b++;
c++;
return(a+b+c);
四、应用题
a)从键盘上输入10个int型数,去掉重复的,将剩余的由大到小排序输出。
b)输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
c)/有n个人围成一圈,顺序排号。
从第1个人开始报数,凡报到3(1~3报数)的人退出圈子,问最后留下的人原来排在第几号。
d)将一个数组中的值按逆序重新存放。
e)猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天将剩下的桃子吃掉一半,且又多吃了一个。
以后每天都吃了前一天剩下的一半另加一个。
到第10天想再吃时,就只剩一个桃子了。
求第一天共摘了多少桃子。
f)输入圆柱体的底圆半径和圆柱体的高,求出底面面积、表面积及其体积。
要求用虚函数实现。
g)编写程序,将键盘上输入的任意正整数逆转,如输入1234,输出4321。
h)编写程序,找出100~200间的全部素数。
(要求加注释)
提示:
判别m是否为素数的算法是:
让m被2~√m(根号m)除,如果不能被其中的任何一个整数整除,就可以确定m是素数。
(a)//从键盘上输入10个int型数,去掉重复的,将剩余的由大到小排序输出。
#include<
usingnamespacestd;
voidmain()
{
inti,j,a[10],t,k=0;
10;
cin>
a[i];
9-k;
for(j=i+1;
10-k;
{
if(a[i]==a[j])
{
t=a[j];
a[j]=a[9-k];
a[9-k]=t;
k++;
j--;
}
elseif(a[i]<
a[j])
t=a[i];
a[i]=a[j];
a[j]=t;
a[i]<
'
'
(b)//输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
intspace=0,English=0,number=0,other=0;
chara;
while((a=getchar())!
='
\n'
)
{
if((a>
A'
a<
Z'
)||(a>
a'
z'
))
English++;
elseif(a=='
space++;
elseif(a>
0'
9'
number++;
else
other++;
"
英文字母个数:
English<
空格个数:
space<
数字个数:
number<
其他字符个数:
other<
(c)//有n个人围成一圈,顺序排号。
从第1个人开始报数,凡报到3(1~3报数)的人退出圈子,问最后留下的人原来排在第几号
intmain()
{
intnum[50];
inti,j,k,m,n;
int*p;
endl<
输入人数:
n;
p=num;
i++)
{
*(p+i)=i+1;
i=0;
k=0;
m=0;
while(m<
n-1)
if(*(p+i)!
=0)
k++;
if(k==3)
*(p+i)=0;
m++;
i++;
if(i==n)
while(*p==0)
p++;
最后一个是"
*p<
号!
}
(d)//将一个数组中的值按逆序重新存放
#defineSize5
inta[Size],temp;
请输入5个整数:
for(inti=0;
Size;
intsize=sizeof(a)/sizeof(a[0]);
size/2;
temp=a[i];
a[i]=a[Size-i-1];
a[Size-i-1]=temp;
(e)/*猴子吃桃问题。
*/
intlast=1,sum=0;
for(inti=9;
i>
0;
i--)
last+=1;
last*=2;
sum=last;
sum<
(f)//输入圆柱体的底圆半径和圆柱体的高,求出底面面积、表面积及其体积。
classCylinder
private:
doubleradius;
doubleheight;
public:
Cylinder(doubler,doubleh):
radius(r),height(h){cout<
调用Cylinder构造函数"
~Cylinder(){cout<
调用Cylinder释构函数"
virtualdoublebottom_area();
virtualdoublebottom_perimeter();
virtualdoublesuperficial_area();
virtualdoublevolume();
};
doubleCylinder:
:
bottom_area()
return3.14159*radius*radius;
bottom_perimeter()
return2*3.14159*radius;
superficial_area()
return2*bottom_area()+bottom_perimeter()*height;
volume()
returnbottom_area()*height;
Cylindercylinder(1,1);
底面面积:
cylinder.bottom_area()<
表面积:
cylinder.superficial_area()<
体积:
cylinder.volume()<
(g)//编写程序,将键盘上输入的任意正整数逆转,如输入1234,输出4321。
longa;
请输入一个正整数:
a;
逆序输出:
for(inti=1;
1;
intj=a%10;
j;
a/=10;
if(a==0)
break;
(h)//编写程序,找出100~200间的全部素数(要求加注释)
cmath>
intk;
for(inti=101;
=200;
{intflag=1;
k=sqrt(i);
for(intj=2;
=k;
if(i%j==0)
flag=0;
break;
if(flag)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 期末考试 复习题 经典 整合