电子科技大学中山学院编程复习题与答案.docx
《电子科技大学中山学院编程复习题与答案.docx》由会员分享,可在线阅读,更多相关《电子科技大学中山学院编程复习题与答案.docx(45页珍藏版)》请在冰豆网上搜索。
电子科技大学中山学院编程复习题与答案
电子科技大学中山学院C语言复习题
1.打开proj1.cpp,按照以下要求,完成操作:
(1)编写程序,求1-1/(2*2)-1/(3*3)-….-/(m*m)的值,其中m的值由健盘输入(当输入m的值小于2时,输出值为1);
(2)请按注释的要求在程序的“____________”部分填入适当的内容并去掉程序中的“____________”,使程序能正确运行,使程序能正确运行,保存文件。
#include
voidmain()
{
intm,i;
cout<<"请输入m的值"<cin>>m;
doubles=_______;//#1定义单精度变量s,
i=_______;//#2
while(_______)//#3
{
s=_______;//#4求多项式的值
_______;//#5
}
cout<
}
2打开proj1.cpp,按照以下要求,完成操作:
(1)编写程序,
求1/2+1/(2*4)…+1/(2*4*..*2m)的值,其中m的值由健盘输入;
(2)请按注释的要求在程序的“____________”部分填入适当的内容并去掉程序中的“____________”,使程序能正确运行,使程序能正确运行,保存文件。
(15分)
#include
voidmain()
{
intm,i,s1;//#1定义整型变量s1,表示分母;
cout<<"请输入m的值"<cin>>m;
doubles=_______;//#2定义单精度变量s,
i=1;
while(i<=m)
{
S1=_______;//#3求每一项分母
S=_______;//#4求多项式的值
_______;//#5
}
sout<
}
3打开proj1.cpp,按照以下要求,完成操作:
(1)编写程序,
求1+1/1!
+1/2!
…+1/m!
的值,其中m的值由健盘输入(当m的值小于1时,输出1),提示:
m!
=1*2*3*….*m;
(2)请按注释的要求在程序的“____________”部分填入适当的内容并去掉程序中的“____________”,使程序能正确运行,使程序能正确运行,保存文件。
(15分)
#include
voidmain()
{
intm,i;
longs1=_______;//#1定义求阶变量s1,
cout<<"请输入m的值"<cin>>m;
doubles=_______;//#2定义单精度变量s,
i=1;
while(_______)//#3以下实现求1+1/1!
+1/2!
…+1/m!
{
s1=_______;//#4
s=_______;//#5
i++;
}
cout<
}
4打开proj1.cpp,按照以下要求,完成操作:
(1)编写程序,
求1/+1/(1*3)+1/(1*3*5)…+1/(1*3*5..*(2m-1))的值,其中m的值由健盘输入;
(2)请按注释的要求在程序的“____________”部分填入适当的内容并去掉程序中的“____________”,使程序能正确运行,保存文件。
(15分)
#include
voidmain()
{
intm,i;
longs1=_______;//#1
cout<<"请输入m的值"<cin>>m;
doubles=_______;//#2定义单精度变量s,
i=1;
while(_______)//#3以下实现求1+1/1*3+1/1*3*5…+1/(1*3*5*….*(2m-1))
{
s1=_______;//#4
s=_______;//#5
i++;
}
cout<
}
5打开proj1.cpp,按照以下要求,完成操作:
(1)编写程序,
求1/+1/(1+2)+1/(1+2+3)…+1/(1+2+3…+m)的值,其中m的值由健盘输入(提示:
当m的值小于1时,输出值为0);
(2)请按注释的要求在程序的“____________”部分填入适当的内容并去掉程序中的“____________”,使程序能正确运行,保存文件。
(15分)
#include
voidmain()
{
intm,i;,s1=_______;//#1定义整型变量s1,表示分母;
cout<<"请输入m的值"<cin>>m;
doubles=_______;//#2定义单精度变量s,
i=1;
while(i<=m)
{
s1=_______;//#3求每一项分母
s=_______;//#4求多项式的值
_______;//#5
}
cout<
}
6.打开proj2.cpp,按照以下要求,完成操作:
(1)函数fun的功能是:
将所有大于1小于整数m的非素数存入xx所指的数组中,非素素的个数通过k传回;
(2)请按注释的要求在程序的“____________”部分填入适当的内容并去掉程序中的“____________”,使程序运行能得出正确的结果,保存文件。
#include
voidfun(intm,int*k,intxx[])
{
inti,j,n=0;
for(i=4;i{
for(j=2;_______;_______)//#1
if(i%j==0)_______;//#2
_______=i;//#3
}
_______;//#4返回非素数的个数
}
voidmain()
{
intm,n,zz[100],j;
cout<<"请输入整数m"<cin>>m;
cout<<"输出所有的非素数"<_______;//#5调用fun函数
for(j=0;j<=n-1;j++)
cout<cout<}
7.打开proj2.cpp,按照以下要求,完成操作:
(1)请补充函数fun,该函数的功能是:
根据整型参数m的值,计算如下图公式的值,在C++中可调用log(n)函数求ln(n);例如,若m的值为20,则fun函数的值为6.50658;
(2)请按注释的要求在程序的“____________”部分填入适当的内容并去掉程序中的
结果,保存文件。
#include
#include
doublefun(intm)
{
inti;
doubles=_______;//#1
for(_______;_______;_______)//#2以下环计算ln
(1)+ln
(2)+…..+ln(m)的值
s=_______;//#3
return_______;//#4返回s的平方根的值
}
voidmaia()
{
cout<}
8.打开proj2.cpp,按照以下要求,完成操作:
(1)函数fun的功能是:
如果数组arr中的前一个元素比后一个元素小,则把此元素保存在数组b中并输出。
例如:
若数组中的元素为:
40,68,63,33,22,78,55,34,99,102,则输出:
40223499;
(2)请按注释的要求在程序的“____________”部分填入适当的内容并去掉程序中的“____________”,使程序得到正确的结果,保存文件。
#include
#defineM10
intfun(intarr[M],intb[M])
{
intn______;//#1n中存放数组arr中,前一项元素比后一元素小的数据个数
for(inti=0;_______;i++)//#2以下循环实现如果数组arr中的前一元素小于后一元素,则将此数放入数组b中
if(_______)//#3
_______;//#4
returnn;
}
voidmain()
{
intaa[M]={40,68,63,33,22,78,55,34,99,102},bb[M];
intk=fun(_______);//#5
for(intj=0;_______;j++)//#6
cout<cout<}
9.打开proj2.cpp,按照以下要求,完成操作:
(1)函数proc的功能是:
实现B=A+A的转置,存放数组B中。
计算结果在main()函数中输出;
例如,输入下面矩阵:
111
444
777
其转置为:
147
147
147
(2)请按注释的要求在程序的“____________”部分填入适当的内容并去掉程序中的“____________”,使程序得到正确的结果,保存文件。
#include
voidproc()//#1
{
inti,j;
for(i=0;i<=3;i++)//#2以下循环实现将矩阵A和A的转置相加
for(j=0;_____;j++)//#3
b[i][j]=________;//#4
}
voidmain()
{
intarr[3][3]={{1,1,1},{4,4,4},{7,7,7}},t[3][3];
inti,j;
proc(______);//#5
for(i=0;_____;i++)//#6
{
for(j=0;_____;j++)//#7
cout<_______;//#8
}
}
10.打开proj2.cpp,按照以下要求,完成操作:
(1)在主函数中输入若干个数放入数组中,用0结束输入并放在数组最后一个元素中,下列给定程序中,函数fun的功能是:
计算数组元素中值为负数的平均值(不包括0),例如数组中元素的值依次为39,-47,21,2,-4,9,-6,0,则程序运行结果为-19;
(2)请按注释的要求在程序的“____________”部分填入适当的内容并去掉程序中的
结果,保存文件。
#include
doublefun(intx[])
{
doublesum=0.0;
intc=0,i=0;//i记录数组元素的位置
while()//#1以下循环实现求出数组中所有负数之和,放入sum中,负数个数放入c中
{
if()//#2
{sum;//#3
;//#4
}
;#5
}
sum/=c;
returnsum;
}
voidmain()
{
intx[100];
inti=0;
cout<<"请输入数组元素的值,以0结束输入"<do{
cin>>x[i];
}while();//#6
cout<}
11.打开proj3.cpp,按照以下要求,完成操作:
(1)下列给定程序中,函数fun(char*s,char*t)的功能是:
将在字符串s中下标为偶数位置上的字符,紧随其后出现一次,放在一个新串t中,t中字符按原字符s中字符的顺序排序,(注意:
0为偶数)例如:
当
S中的字符串为“abcs”时,t中的字符串应为”aacc”;
(2)请将程序补充完整,但不要改变已有的程序,使程序能正确运行,保存文件,在编写程序时,不得使用C++语言提供的字符串函数。
(20分)
#include
voidfun(char*s,char*t)
{
inti;
//请在两条星线之间填入相应的代码,以下程序请用for循环实现
/**************************************************/
/**************************************************/
}
voidmain()
{
chars[100],t[100];
cout<<"请输入字符串"<cin.getline(s,100);
fun(s,t);
cout<<"结果是:
"<}
12.打开proj3.cpp,按照以下要求,完成操作:
(1)编写一函数fun,函数fun(char*str,charch)的功能是:
判断字符ch是否与字符串str中的某个字符相同,若相同,则什么也不做,若不同,则插在字符串的最后;
(2)请将程序补充完整,但不要改变已有的程序,使程序能正确运行,保存文件,在编写程序时,不得使用C++语言提供的字符串函数。
(20分)
#include
#include
voidfun(char*str,charch)
{
//请在两条星线之间填入相应的代码
/**************************************************/
/**************************************************/
}
voidmain()
{
chars[81],c;
cout<<"请输入字符串"<cin.getline(s,81);
cout<<"请输入一个字符"<cin>>c;
fun(s,c);
cout<
}
13.打开proj3.cpp,按照以下要求,完成操作:
(1)下列给定程序中,函数proc()的功能是:
在字符串str中找出ASCII码值最大的字符,将其放在字符串的第一个位置上,并将该字符前的原字符依次向后顺序移动,例如,调用proc()函数之前给字符串输入Dcybkd,调用后字符串的内容修改为yDcbkd
(2)请将程序补充完整,但不要改变已有的程序,使程序能正确运行,保存文件,在编写程序时,不得使用C++语言提供的字符串函数。
(20分)
#include
voidproc(char*t)
{
charmax,*q;;
inti=0;
max=t[i];
//请在两条星线之间填入相应的代码,以下程序请用for循环实现
/**************************************************/
/**************************************************/
while(q>t)
{
*q=*(q-1);
q--;
}
_____________;//将max的值放入字符串的最前面.
}
voidmain()
{
charstr[80];
cout<<"请输入字符串"<cin.getline(str,80);
cout<cout<<”输出修改后的字符串”<proc(str);
cout<}
14.打开proj3.cpp,按照以下要求,完成操作:
(1)下列给定程序中,函数fun(char*str)的功能是:
把str中的大写字母转换成小写字母,把其中的小写字母转换成大写字母,(提示:
大写字母的ASCII码比对应小写字母的ASCII小32);
(2)请将程序补充完整,但不要改变已有的程序,使程序能正确运行,保存文件,在编写程序时,不得使用C++语言提供的字符串函数。
(20分)
#include
#include
voidfun(char*str)
{
//请在两条星线之间填入相应的代码
/**************************************************/
/**************************************************/
}
voidmain()
{
charstr[1024];
cout<<"请输入字符串"<cin.getline(str,1024);
fun(str);
cout<}
15.打开proj3.cpp,按照以下要求,完成操作:
(1)下列给定程序中,函数fun(char*s,char*t)的功能是:
把字符串s中的字符,倒序放到字符串t的末尾,再将字符串S中字符连接到字符串t中,并输出字符串t。
例如字符串s为abc,则字符串t为cbaabc;
(2)请将程序补充完整,但不要改变已有的程序,使程序能正确运行,保存文件,在编写程序时,不得使用C++语言提供的字符串函数。
(20分)
#include
#include
voidfun(char*s,char*t)
{
intI,s1;
s1=strlen(s);
//请在两条星线之间填入相应的代码
/**************************************************/
/**************************************************/
}
voidmain()
{
chars[100],t[100];
cout<<"cbaabc"<cin>>s;
fun(s,t);
cout<<"cbaabc"<cout<}
17.打开proj4.cpp,按照以下要求,完成操作:
已知一个源程序文件proj4.cpp,其中定义了类circle和column,column类由circle类protected派生,但是这两个类的定义并不完整,请按照以下要求将程序补充完整。
程序运行结果如图所示:
(1)定义类circle的保护数据成员变量r和area,它们都是double型数据,请在注释//***1***之后添加适当语句;
(2)添加类circle的无参构造函数,使得类circle对象r的默认值为0,请在注释//***2***之后添加适当语句;
(3)添加派生类column的构造函数的定义,使得参数为double型的radius和height分别赋给数据成员r和h,请在注释//***3***之后添加适当语句;
(4)完成派生类column的成员函数print的定义,请在注释//***4***之后添加适当语句。
# include
Constdoublepi=3.14159;
Classcircle
{
Protected:
//***1***
Public:
//***2***
{
R=0.0;
}
Circle(doubleradius)
{
R=radius;
}
Voidprint()
{
Area=r*r*pi;
Cout<<”r=”<}
};
Classcolum:
protectedcircle
{
Protected:
Doubleh;
Public:
//***3***
{
R=radius;
H=height;
}
Voidprint()
{
Circle:
:
print();
//***4***
};
Voidmain()
{
Columncol(1,02,0);
Col.print();
}
17.打开proj4.cpp,按照以下要求,完成操作:
已知一个源程序文件proj4.cpp,其中定义了类并不完整,,请按照以下要求将程序补充完整。
程序运行结果如图所示:
(1)在类person中定义name为字符指针类型,age为整型,请在注释//***1***之后添加适当语句;
(2)设置类student公有继承类为person,请在注释//***2***之后添加适当语句;
(3)定义析构函数student,,请在注释//***3***之后添加适当语句;
(4)设置类teacher公有继承类为person,请在注释//***4***之后添加适当语句;
(5)在类teacher中定义major为字符指针类型,请在注释//***5***之后添加适当语
# include
Classperson
{
//***1***;
Private:
Char*name;
Intage;
/****************************/
public:
Person(){cout<<”personclassconstructor”<~person(){cout<<”personclassconstructor”<};
//***2***
Classstudent:
publicperson
/****************************/
{
Char*depertment;
Intlevel;
Public:
Student()
{cout<<”studentclassconstructor”<//****3***
~Student()
/****************************/
{cout<<”studentclassconstructor”<};
//***4***
Classteacher:
publicperson
{//***5***
Char*major;
Floatsalary;
Public:
teacher(){cout<<”teacherclassconstructor”<~teacher(){cout<<”teacherclassconstructor”<};
Voidmain()
{
Students1;
Teachert1;
}
18打开proj4.cpp,按照以下要求,完成操作:
已知一个源程序文件proj4.cpp,其中定义了类并不完整,,请按照以下要求将程序补充完整。
(1)定义类的公有成员变量No,N