C++程序设计综合练习题-读程序写结果题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++程序设计模拟题
三、用C++语言描述下列命题
1、A小于B并且A大于C
2、A和B中有—个小于C
3、A是奇数
4、B和C中较大者与A相等
5、年份Y是闰年
四、写出下列程序的执行结果
1.
#include <iostream .h>
void main()
{
int b[3][5]={11,12,13,14,15,21,22,23,24,25,31,32,33,34,35};
int (*p)[5];
p=b;
for(int j=0;j<5;j++)
cout<<*(*p+j)<< "," ;
cout<<endl;
}
2.
#include<iostream.h>
void swapl(int a,int b)
{
int temp=a;
a=b;
b=temp;
}
void swap2(int*a,int*b)
{
int temp=*a;
*a=*b,*b=temp;
}
void swap3(int*a,int*b)
{
int*temp=a;
a=b,b=temp;
}
void swap4(int &a,int &b)
int temp=a;
a=b; b=temp;
}
void main()
{
int a=10,b=20;
swapl(a,b);
cout<<a<<": "<<b<<endl;
swap2(&a,&b);
cout<<a<<": "<<b<<endl;
swap3(&a,&b);
cout<<a<<": "<<b<<endl;
swap4(a,b);
cout<<a<<": "<<b<<endl;
}
3.&&&
#include<iostream. h>
void print(int w)
{
int i;
if(w!=0)
{
print(w-1);
for(i=1;i<=w;i++)
cout<<w;
cout<<endl;
}
}
void main()
{
print(4);
}
4.
#include<iostream.h>
#define sw(x,y) {x^=y;y^=x;x^=y;} void main()
{
int a=10,b=01;
sw(a,b);
cout<<a<<","<<b;
5.假定输入10个整数:32,64,53,87,54,32,98,56,98,83。
下列程序的输出
结果是什么?&&&
#include<iostream.h>
void main( )
{
int a,b,c,x;
a=b=c=0;
for (int k=0; k<10; k++)
{
cin>>x;
switch(x%3)
{
case 0:a+=x; break;
case 1:b+=x; break;
case 2:c+=x; break;
}
}
cout<<a<<" "<<b<<" "<<c<<endl;
}
6.***
#include<iostream.h>
void main( )
{int j,k;
for (j=5; j>0; j--)
{for (k=j; k>0; k--)
cout<<"*";
cout<<endl;
}
}
7.
#include <iostream.h>
void main()
{
int nNumber;
int *pPointer;
nNumber = 15;
pPointer = &nNumber;
cout<<"nNumber is equal to :"<< nNumber<<endl;
*pPointer = 25;
cout<<"nNumber is equal to :"<<nNumber<<endl; }
8.
#include <iostream.h>
int *pPointer;
void SomeFunction()
{
pPointer = new int;
*pPointer = 25;
}
void main()
{
SomeFunction();
cout<<"Value of *pPointer: "<<*pPointer<<endl;
delete pPointer;
}
9.
#include <iostream.h>
void AddFive(int* Number)
{
*Number = *Number + 5;
}
void main()
{
int nMyNumber = 18;
cout<<"My original number is "<<nMyNumber<<endl; AddFive(&nMyNumber);
cout<<"My new number is "<<nMyNumber<<endl;
}
10.
#include <iostream.h>
void main()
{
int Array[3];
Array[0] = 10;
Array[1] = 20;
Array[2] = 30;
int *pArray;
pArray = &Array[0];
cout<<"pArray points to the value."<<endl;
cout<<*pArray<<endl;
cout<<*(pArray+1)<<endl;
}
11.***
#include<iostream.h>
int i=4;
void main()
{
cout<<"i="<<i<<endl;
i=5;
{
int i;
i=7;
cout<<"i="<<i<<endl;
}
cout<<"i="<<i;
}
12.***
#include<iostream.h>
void fun( );
void main( )
{
fun( );
fun( );
}
void fun( )
{
static int a=1;
int i=5;
a++;
i++;
cout<<"i="<<i<<",a="<<a<<endl;
}
13.&&&
#include <iostream.h>
class Point
{public:
Point(int xx=0, int yy=0) {X=xx; Y=yy; countP++; }
Point(Point &p);
int GetX( ) {return X;}
int GetY( ) {return Y;}
void GetC( ) {cout<<" Object id="<<countP<<endl;} private:
int X,Y;
static int countP;
};
Point::Point(Point &p)
{ X=p.X;
Y=p.Y;
countP++;
}
int Point::countP=0;
void main ( )
{ Point A(4,5);
cout<<"Point A,"<<A.GetX ( ) <<","<<A.GetY ( );
A.GetC ( );
Point B(A);
cout<<"Point B,"<<B.GetX ( ) <<","<<B.GetY ( );
B.GetC ( );
}
14.***
#include <iostream.h>
int addDefault(int x=1,int y=2);
void fun(void);
void main(void)
{
int addDefault(int x=3,int y=4);
cout<<addDefault()<<endl;
fun();
}
int addDefault(int x, int y)
{
cout<<x<<"+"<<y<<"=";
return x+y;
}
void fun(void)
{
cout<<addDefault()<<endl;
}
15.***
#include <iostream.h>
void main()
{int m,n,a=3,b=3,number;
number=237;
m=number/5;
n=number%5;
cout<<"m="<<m<<endl;
cout<<"n="<<n<<endl;
a+=m;
b*=n;
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
}
16.***
#include <iostream.h>
void main()
{int width,height,result1,result2,result3;
height=3;width=5;
result1=height>3 && width>=5;
result2=height>3 || width>=5;
result3=!(width>=5);
cout<<"result1"<<result1<<endl;
cout<<"result2"<<result2<<endl;
cout<<"result3"<<result3<<endl;
}
17.***
#include <iostream.h>
void main()
{ int i=32,j=6;
double df;
df=i/j+2.3;
cout<<"df="<<df<<endl;
i=df/3;
cout<<"i="<<i<<endl;
}
18.&&&
# include <iostream. h>
int c[10];
void add(int x,int y)
{static int i=0;
c[i]=x+y;
i++;
}
void main()
{int a[10]={1,2,3,4,5,6,7,8,9,10};
int b[10]={10,9,8,7,6,5,4,3,2,1};
int i=0,k=0;
for(i=0;i<10;i++)
add(a[i],b[i]);
for(i=0;i<10;i++)
cout<<c[i]<<" ";
}
19.
#include <iostream.h>
void main()
{char s[30]="computer,mouse,key";
int i=0,k=0;
cout<<s<<endl;
while(s[i]!='\0')
{if(s[i]=='m') //通过数组名和下标引用数组元素k++;
i++;
}
cout<<"i="<<i<<endl;
cout<<"k="<<k<<endl;
}
20.
#include <iostream.h>
void main()
{char s[]="C++ program";
char *ps1="computer";
char *ps2,*ps3=s;
ps2="mouse";
cout<<s<<" "<<ps1<<" "<<ps2<<" "<<ps3<<endl;
ps1++;ps2+=2;ps3+=4;
cout<<s+4<<" "<<ps1<<" "<<ps2<<" "<<ps3<<endl;
cout<<*s<<" "<<*ps1<<" "<<*ps2<<" "<<*ps3<<endl;
ps1=s;
}
21.如果输入的数据是24和18,则下列程序的输出结果是什么?*** #include <iostream.h>
int fun1(int c,int d)
{
int r;
r=c%d;
while(r!=0){
c=d;
d=r;
r=c%d;
}
return d;
}
void main()
{
int m,n,e,d;
cout<<"m n=";
cin>>m>>n;
e=fun1(m,n);
d=m*n/e;
cout<<e<<endl;
cout<<d<<endl;
}
22.
#include <iostream.h>
void main()
{int a[3][4]={{1,2,3,4},{3,4,5,6},{5,6,7,8}};
int b[4][3],i,j;
for(i=0;i<3;i++)
{for(j=0;j<4;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
for(i=0;i<4;i++)
for(j=0;j<3;j++)
b[i][j]=a[j][i];
for(i=0;i<4;i++)
{for(j=0;j<3;j++)
cout<<b[i][j]<<" ";
cout<<endl;
}
}
23.
#include <iostream.h>
#include <iomanip.h>
void main()
{const int m=5;
int a[m][m];
int i,j;
for(i=0;i<m;i++)
{a[i][0]=1;
a[i][i]=1;
for(j=1;j<i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
for(i=0;i<m;i++)
{for(int k=0;k<30-2*i;k++)
cout<<" ";
for(j=0;j<=i;j++)
cout<<setw(5)<<a[i][j];
cout<<endl;
}
}
24.
#include <iostream.h>
void main()
{char s[30]="computer,mouse,key";
int i=0,k=0;
cout<<s<<endl;
while(s[i]!='\0')
{if(s[i]=='m')
k++;
i++;
}
cout<<"i="<<i<<endl;
cout<<"k="<<k<<endl;
}
25.
#include <iostream.h>
#include <iomanip.h>
struct student
{char num[5];
char name[10];
char sex;
int age;
float mathscore;
};
void main()
{struct student st[10]={{"001","Wangping",'f',19,84},
{"002","Zhaomin",'m',20,64},
{"003","Wanghong",'f',18,54},
{"004","Lilei",'m',19,92},
{"005","Liumin",'m',19,75}};
int i,k=0;
float average=0;
for(i=0;i<5;i++)
average+=st[i].mathscore;
average/=10;
cout<<"average="<<average<<endl;
for(i=0;i<5;i++)
if(st[i].mathscore<60)
{k++;
cout<<st[i].num<<" "<<st[i].name<<" "<<st[i].sex;
cout<<" "<<st[i].age<<" "<<st[i].mathscore<<endl;
}
cout<<k<<endl;
}
26.
#include <iostream.h>
void main()
{int b[3][4]={23,38,16,12,56,89,66,34,58,12,90,100};
int i,j,m=3,n=4;
for(i=0;i<m;i++)
{ for(j=0;j<n;j++)
cout<<*(*(b+i)+j)<<" ";
cout<<endl;
}
for(i=0;i<20;i++) cout<<"-";cout<<endl;
for(i=0;i<m;i++)
{ for(j=n-1;j>=00;j--)
cout<<*(b[i]+j)<<" ";
cout<<endl;
}
for(i=0;i<20;i++) cout<<"-";cout<<endl;
for(i=m-1;i>=0;i--)
{ for(j=0;j<n;j++)
cout<<b[i][j]<<" ";
cout<<endl;
}
}
27.
#include <iostream.h>
void main()
{int a[]={12,22,32,42,52,62,72,82,92,102};
int i, m=5;
int *p=a;
for(i=0;i<m;i++)
cout<<*p++<<" ";
cout<<endl;
for(i=m-1;i>=0;i--)
cout<<p[i]<<" ";
cout<<endl;
}
28.
#include <iostream.h>
void main()
{int b[2][4]={12,36,62,14,56,98,74,63};
int (*p)[4]=b;
int i,j;
for(i=0;i<2;i++)
{for(j=0;j<4;j++)
cout<<*(*(p+i)+j)<<" ";
cout<<endl;
}
for(i=0;i<20;i++) cout<<"-";cout<<endl;
for(i=0;i<2;i++)
{for(j=3;j>=0;j--)
cout<<p[i][j]<<" ";
cout<<endl;
}
}
29.
#include <iostream.h>
#include <stdlib.h>
void main()
{ int func(int a,int b,char op);
int (*fptr)(int a,int b,char op);
fptr=func;
cout<<func(3,5,'+')<<endl;
cout<<fptr(3,5,'*')<<endl;
}
int func(int a,int b,char op)
{
switch(op)
{
case '+':
cout<<a<<op<<b<<"=";return a+b;break;
case '-':
cout<<a<<op<<b<<"=";return a-b;break;
case '*':
cout<<a<<op<<b<<"=";return a*b;break;
default:
cout<<"Operator error!"<<endl; return 0;
}
}
30.
#include <iostream.h>
struct student
{char *num;
char *name;
int age;
};
void main()
{int *ip;float *fp;char *cp;
struct student *stp;
fp=new float(32.6);
cp=new char;
*cp='A';
ip=new int[10];
for(int i=0;i<10;i++)
ip[i]=2*i+2;
stp=new struct student;
stp->num="12";
stp->name="Li";
stp->age=18;
cout<<*fp<<" "<<*cp<<" "<<endl;
cout<<"num="<<stp->num<<" name="<<stp->name<<" age="<<stp->age<<endl;
for(i=0;i<10;i++)
cout<<ip[i]<<" ";
cout<<endl;
delete cp;
delete fp;
delete []ip;
delete stp;
}
31.***
#include <iostream.h>
class Point
{
public:
Point(int xx=0,int yy=0)
{X=xx; Y=yy;cout<<"构造函数被调用"<<endl;}
Point(Point& p);
int GetX( ) {return X;}
int GetY( ) {return Y;}
private:
int X,Y;
};
Point::Point (Point& p)
{
X=p.X;
Y=p.Y;
cout<<"拷贝构造函数被调用"<<endl;
}
Point fun2( )
{ Point A(1,2);
return A;
}
void fun1(Point p)
{ cout<<p.GetX( )<<endl;
}
void main( )
{ Point A(1,2);
fun1(A);
Point B(A);
cout<<B.GetX( )<<endl;
B=fun2();
cout<<B.GetX( )<<endl;
}
32.***
#include <iostream.h>
#include <math.h>
class Point
{
public:
Point(int xx=0, int yy=0)
{
X=xx;Y=yy;
cout<<"构造函数被调用"<<endl;
}
Point(Point &p);
int GetX() {return X;}
int GetY() {return Y;}
private:
int X,Y; };
Point::Point(Point &p)
{
X=p.X;
Y=p.Y;
cout<<"Point拷贝构造函数调用"<<endl; }
class Distance
{
public:
Distance(Point xp1, Point xp2);
double GetDis(){return dist;}
private:
Point p1,p2;
double dist;
};
Distance::Distance(Point xp1,Point xp2)
:p1(xp1),p2(xp2)
{
cout<<"Distance构造函数调用"<<endl;
double x=double(p1.GetX()-p2.GetX());
double y=double(p1.GetY()-p2.GetY());
dist=sqrt(x*x+y*y);
}
void main()
{
Point myp1(1,1),myp2(4,5);
Distance myd(myp1,myp2);
cout<<"The distance is:";
cout<<myd.GetDis()<<endl;
}
33.
#include <iostream.h>
class Base{
public:
Base(int x,int y) { a=x; b=y; }
void Show() { cout<<"Base: "<<a<<","<<b<<endl; }
private:
int a,b;
};
class Derived : public Base{
public:
Derived(int x,int y,int z) : Base(x,y),c(z) {} void Show() { cout<<"Derived: "<<c<<endl; }
private:
int c;
};
void main()
{
Base b(50,50),*pb;
Derived d(10,20,30);
pb=&b;
pb->Show();
pb=&d;
pb->Show();
}。