c++编程题汇总450份文档格式.docx
- 文档编号:6017496
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:44
- 大小:25.55KB
c++编程题汇总450份文档格式.docx
《c++编程题汇总450份文档格式.docx》由会员分享,可在线阅读,更多相关《c++编程题汇总450份文档格式.docx(44页珍藏版)》请在冰点文库上搜索。
image2<
voidmain()
inta,b,c;
doubletemp;
输入a,b,c的值"
cin>
>
a>
b>
c;
方程为:
a<
x*x+"
b<
x+"
c<
=0"
if(temp>
0)
equation_1(a,b,c);
if(temp==0)
equation_2(a,b,c);
if(temp<
equation_3(a,b,c);
2.定义函数up(ch),如字符变量ch是小写字母就转换成大写字母并通过up返回,否则字符ch不改变。
要求在短小而完全的程序中显示这个程序是怎样被调用的。
iostream>
usingnamespacestd;
charup(charc)
if(c>
=97&
&
c<
=122)
return(c-32);
else
returnc;
inti;
charc[15]={'
A'
'
v'
e'
t'
E'
T'
%'
'
4'
Y'
i'
@'
9'
^'
};
for(i=0;
i<
15;
i++)
cout<
up(c[i])<
"
;
3.编写主程序条用带实数r和整数n两个参数的函数并输出r的n次幂。
doublepower(doublea,intb)
doubleresult=1.0;
for(i=0;
i<
b;
i++)
result=result*a;
returnresult;
doubler;
intn;
r="
r;
n="
n;
r<
的"
n<
次幂是:
power(r,n)<
4.编写有字符型参数C和整形参数N的函数,让他们显示出由字符C组成的三角形。
其方式为第1行有1个字符C,第2行有2个字符C,等等。
voidprint_triangle(charc,intn)
inti,j;
i<
n;
{
for(j=0;
j<
=i;
j++)
{
cout<
c;
}
}
print_triangle('
a'
10);
5.编写一个ieqiu字符串长度的函数,strlen(),再用strlen()函数编写一个函数revers(s)的倒序递归程序,使字符串s逆序。
string>
intstrlen(char*str)
intlen=0;
while(str[len]!
='
\0'
)
len++;
returnlen;
voidrevers(char*b)
charc;
intj,len;
len=strlen(b);
j=len/2-1;
while(j>
=0)
{
c=*(b+j);
*(b+j)=*(b+len-j-1);
*(b+len-j-1)=c;
j--;
b[len]='
str<
----的长度:
strlen(str)<
//倒序前
revers(str);
//
//倒序后
6.用函数模板实现3个数值中按最小值到最大值排序的程序。
template
voidsort(Ta,Tb,Tc)
Tarray[3],temp;
inti,j;
array[0]=a;
array[1]=b;
array[2]=c;
3;
j<
2;
j++)
if(array[j]>
array[j+1])
{
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
array[0]<
array[1]<
array[2]<
sort(5,1,9);
7.利用函数模板设计一个求数组元素中和的函数,并检验之。
Tsum(Ta[],intn)
Ts=0;
s=s+a[i];
returns;
voidmain()
inta[5]={1,2,3,4,5};
ints=sum(a,5);
s<
8.重载上题中的函数模板,使他能够进行两个数组的求和。
Tsum(Ta[],intn)
template//重载上面的模板
Tsum(Ta[],intn,Tb[],intm)
returnsum(a,n)+sum(b,m);
intb[10]={1,2,3,4,5,6,7,8,9,10};
ints1=sum(a,5);
ints2=sum(b,10);
ints3=sum(a,5,b,10);
s1<
s2<
s3<
第四章
1.设计一个点类Point,再设计一个矩形类,矩形类使用Point类的两个坐标点作为矩形的对角顶点。
并可以输出4个坐标值和面积。
使用测试程序验证程序。
#include
classPoint//点类
private:
intx,y;
//私有成员变量,坐标
public:
Point()//无参数的构造方法,对xy初始化
x=0;
y=0;
Point(inta,intb){
x=a;
y=b;
voidsetXY(inta,intb){
intgetX()//得到x的方法
returnx;
intgetY()//得到有的函数
returny;
classRectangle//矩形类
private:
Pointpoint1,point2,point3,point4;
Rectangle();
//类Point的无参构造函数已经对每个对象做初始化啦,这里不用对每个点多初始化了
Rectangle(Pointone,Pointtwo)
point1=one;
point4=two;
init();
Rectangle(intx1,inty1,intx2,inty2)
point1.setXY(x1,y1);
point4.setXY(x2,y2);
init();
voidinit()//给另外两个点做初始化的函数
point2.setXY(point4.getX(),point1.getY());
point3.setXY(point1.getX(),point4.getY());
voidprintPoint()//打印四个点的函数
cout<
A:
("
point1.getX()<
,"
point1.getY()<
)"
B:
point2.getX()<
point2.getY()<
C:
point3.getX()<
point3.getY()<
D:
point4.getX()<
point4.getY()<
intgetArea()//计算面积的函数
intheight,width,area;
height=point1.getY()-point3.getY();
width=point1.getX()-point2.getX();
area=height*width;
if(area>
returnarea;
else
return-area;
Pointp1(-15,56),p2(89,-10);
//定义两个点
Rectangler1(p1,p2);
//用两个点做参数,声明一个矩形对象r1
Rectangler2(1,5,5,1);
//用两队左边,声明一个矩形对象r2
矩形r1的4个定点坐标:
r1.printPoint();
矩形r1的面积:
r1.getArea()<
\n矩形r2的4个定点坐标:
r2.printPoint();
矩形r2的面积:
r2.getArea()<
2.使用内联函数设计一个类,用来表示直角坐标系中的任意一条直线并输出它的属性。
classLine
intx1,y1,x2,y2;
Line();
Line(int=0,int=0,int=0,int=0);
voidprintPoint();
doublegetLength();
inlineLine:
:
Line(inta,intb,intc,intd)
x1=a;
y1=b;
x2=c;
y2=d;
inlinevoidLine:
printPoint()
x1<
y1<
x2<
y2<
inlinedoubleLine:
getLength()
doublelength;
length=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
returnlength;
Lineline(10,80,-10,12);
line.printPoint();
line.getLength()<
第五章
1.声明复数的类,complex,使用友元函数add实现复数加法。
classComplex
doublereal,image;
Complex(){}
Complex(doublea,doubleb)
real=a;
image=b;
voidsetRI(doublea,doubleb)
real=a;
image=b;
doublegetReal()
{returnreal;
doublegetImage()
{returnimage;
voidprint(){
if(image>
0)
复数:
real<
image<
i"
if(image<
-"
friendComplexadd(Complex,Complex);
//声明友元函数
Complexadd(Complexc1,Complexc2)//定义友元函数
Complexc3;
c3.real=c1.real+c2.real;
//访问Complex类中的私有成员
c3.image=c1.image+c2.image;
returnc3;
Complexc1(19,0.864),c2,c3;
c2.setRI(90,125.012);
c3=add(c1,c2);
复数一:
c1.print();
复数二:
c2.print();
相加后:
c3.print();
3.编写一个程序,该程序建立一个动态数组,为动态数组的元素赋值,显示动态数组的值并删除动态数组。
inti,n,temp=0;
输入数组大小:
double*array=newdouble[n];
//用指针,动态申请数组大小
给每个数组元素赋值:
array["
]="
cin>
temp;
*(array+i)=temp;
//给数组元素赋值
动态数组个元素的值如下:
array[i]<
//打印数组元素
delete[]array;
//释放内存
4.定义一个Dog类,它用静态数据成员Dogs记录Dog的个体数目,静态成员函数GetDogs用来存取Dogs。
设计并测试这个类。
classDog
staticintdogs;
//静态数据成员,记录Dog的个体数目
public:
Dog(){}
voidsetDogs(inta)
{dogs=a;
staticintgetDogs(){
returndogs;
intDog:
dogs=25;
//初始化静态数据成员
未定义Dog类对象之前:
x="
Dog:
getDogs()<
//x在产生对象之前即存在,输出25
Doga,b;
a中x:
a.getDogs()<
b中x:
b.getDogs()<
a.setDogs(360);
给对象a中的x设置值后:
第六章
1.设计一个基类,从基类派生圆柱,设计成员函数输出它们的面积和体积;
classBasic//基类
protected:
doubler;
Basic(){r=0;
Basic(doublea):
r(a){}
classCircular:
publicBasic//从基类派生圆类
doublearea;
Circular(doublea)
r=a;
area=area=3.1415926*r*r;
doublegetArea()//返回圆面积
returnarea;
classColumn:
publicCircular//从圆类派生圆柱类
doubleh;
doublecubage;
Column(doublea,doubleb):
Circular(a){
h=b;
cubage=getArea()*h;
doublegetCubage()//返回圆柱体积函数{
returncubage;
Circularcircular(45);
Columncolumn(12,10);
圆的面积:
circular.getArea()<
圆柱的体积:
column.getCubage()<
3.定义一个线段类作为矩形的基类,基类有起点和终点坐标,有输出左边和长度以及线段和x轴的夹角的成员函数。
矩线段对象的两个坐标作为自己一条边的位置,它具有另外一条边,能输出矩形的4个顶点坐标。
给出类的定义并用程序验证它们的功能。
cmath>
classPoint//点类
doublex,y;
Point(){}
Point(doublea,doubleb)
x=a;
y=b;
doubleget
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 编程 汇总 450