c++程序填空
更新时间:2024-04-03 04:28:02 阅读量: 综合文库 文档下载
3.下列程序计算1000以内能被3整除的自然数之和,请完成程序。 #include
int x=1, sum; [1]
while(1) {
if( [2] )break; if( [3] )sum+=x; x++; }
cout< 1. [1] #include 3.[1] sum=0; [2]x>1000 [3]x%3==0 四、程序填空题 1. 下面的函数fun未使用中间变量实现对两个数的交换,请完成下列函数的定义。 void fun(int &x, int &y) { x+=y; y= [1] ; [2] ; } 2.下面的函数bubble()是对整数数组a按升序排序的冒泡算法,其中,参数a存储将被排序的数据, size是数组a中存储的元素数目,请完成该函数。 void bubble(int a[], int size) { [1] ; for(int p=1; [2] ; p++) for(int i=0; [3] ; i++) if(a[i]>a[i+1]) { temp=a[i]; [4] ; [5] ; } } 3. 下面的函数Sort()用于对整数数组array按升序排序的选择排序算法,其中参数n表示array数 组中存储的数组元素数。例如,假设数组array中有10个元素,选择排序就是:先将10个数 中的最小数与a[0]对换;再将a[1]到a[9]中的最小数与a[1]对换,….,直到排序完成。请完成 该函数。 void Sort( int array[], int n) { int k; [1] ; for(int i=0; i for(int j= [3] ; j !7!5!31sin)12( 1753 . ....... . . nxxxxxxnn. 其中,x的值为弧度。 当输入的x 值为度数时,将度数转化为弧度的公式为: 1801415926.3xy. #include double sin(double x,double eps) { double term,sum,y; int n=1; y=x*x; term= [1] ; sum=0; while(fabs(term)>=eps) { sum += [2] ; n++; term = term*y/ [3] ; term *= -1; } return [4] ; } void main(void) { double x,y; cout<<\请输入x的值(角度):\ cin>>x; while(x>360)x -= 360; y= [5] ; cout<<\角度为\的sin值是\} 1. [1]x-y [2]x=x-y或x-=y 2. [1]int temp [2]p [4]array[k]=array[i] [5]array[i]=t 4. [1]x [2]term [3]((2*n-1)*(2*n-2)) [4]sum [5]3.1415926*x/180 四、程序填空题 1. 统计字符串中英文字母个数的程序。 #include char s1[80]; cout<<\ [1] ; cout<<\} int count (char str[]) { int num=0; for (int i=0;str[i];i++) if (str[i]>='a' && str[i]<='z' || str[i]>='A' && str[i]<='Z') [2] ; return [3] ; } 2.如果矩阵A乘以B得到C,则必须满足如下的规则: ⑴矩阵A的列数等于矩阵B的行数; ⑵矩阵A的行数等于矩阵C的行数; ⑶矩阵B的列数等于矩阵C的列数; 矩阵相乘的乘法公式为: .. .. nkkjikijbac1 下面的函数MultiMatrix()用于求解整数矩阵的乘积,其中参数a、b和c分别表示存储乘数、 被乘数以及乘积结果的二维数组,arow和acol、brow和bcol以及crow和ccol分别表示矩 阵a的行数和列数、矩阵b的行数和列数以及矩阵c的行数和列数,且该函数被调用时的实 参满足:acol<=4、bcol<=5及ccol<=5。MultiMatrix()函数当提供的矩阵不满足矩阵相乘的条 件时该函数返回1,否则返回0,请完成该函数。 int MultiMatrix(int a[][4], int arow, int acol, int b[][5], int brow, int bcol, int c[][5], int crow, int ccol) { if(acol!=brow)return 1; if( [1] )return 1; if( [2] )return 1; for(int i=0; i for(int n=0; [5] ; n++) c[i][j]+=a[i][n]*b[n][j]; } return 0; } 3. 下面的函数fun未使用中间变量实现对两个数的交换,请完成下列函数的定义。 插入排序是通过把数组中的元素插入到适当位置来进行排序的。插入排序的步骤为: (1)将数组中的头两个元素按排序顺序排列 (2)把下一个元素(第3个元素)插入到其对应于已排序元素的排序位置 (3)对于数组中的每个元素重复(2),即把第4个元素插入到适当文职,然后是第5个,等等, 直到所有元素都插入排序完成 下面的程序利用了插入排序函数isort()进行排序,并在主函数中将排序前和排序后的数组元素 打印,请将程序补充完整。 #include void isort(int a[],int size) /*a为被排序数组,size为a中包含的元素个数*/ { int inserter,index; for(int i=1;i< [1] ;i++) { inserter=a[i]; index=i-1; while(index>=0 && [2] ) { a[index+1]=a[index]; index--; } a[index+1]= [3] ; } } void main() { int array[]={55,2,6,4,32,12,9,73,26,37}; int len= [4] ; for(int i=0;i for(int i=0;i 2. [1]crow!=arow [2]ccol!=bcol [3]j 1. 下面程序要利用指针变量作为形参实现两个变量的值互换,请在下面的下划线处填入正确的程 序代码,完成程序功能。 #include void swap(int *,int *); int i=5,j=8; [1] ; cout< void swap(int *p1,int *p2) { int temp; temp=*p1; [2] ; [3] ; } 2. 下面的函数Fun将一个整数字符串转换为一个整数。 # include int num, digital, len; [1] ; len=strlen(str); while (*str!=NULL) { digital=*str-'0'; for (int i=0; [2] ; i++) [3] ; len--; str++; num+=digital; } return num; } 3. 以下程序求二维数组的最大值及其行列下标并打印。 #include void find( int a[3][4], int *maxi, int *maxj ) { int i, j; *maxi=0; *maxj=0; for (i=0; i<3; i++) for (j=0; j<4; j++) if (a[i][j] [1] a[*maxi][*maxj]) *maxi=i, *maxj=j; } void main() { int a[3][4]={{3,8,9,5},{0,-1,1,-2},{3,7,6,3}}, maxp, minp, i, j; find( [2] ); cout<<\cout<<\ cout<<\} 4. 下面程序要利用形参实现两个变量的值互换,请在下面的下划线处填入正确的程序代码,完成 程序功能。 #include void refswap(int &,int &); int a=15,b=18; [1] ; //实参是变量的地址 cout< void refswap(int &a,int &b) { int temp; temp=a; [2] ; [3] ; } 5. 下面的Max函数用于求给定矩阵a中的最大元素值,以及其所在的行号和列号。 #include void Max(int *a,int m,int n) { if (m<=0 || n<=0) return; int i,j,row=0,column=0,max; max=*a; for (i=0;i max= [2] ; row=i; column=j; } cout<<\} int main() { int a[3][4]={{5,12,23,56},{19,28,37,46},{-12,128,6,8}}; Max( [3] , 3, 4); getchar(); return 0; } 1.[1] swap(&i,&j) [2] *p1=*p2 [3] *p2=temp 2.[1] num=0 [2] i 3.[1] > [2] a,&maxp,&minp [3] a[maxp][minp] 4.[1] refswap(a,b) [2] a=b [3] b=temp 5.[1] *(a+i*n+j)>max [2] *(a+i*n+j) [3] &a[0][0] 五、程序填空题 1. 假设学生链表中的结点结构及含义定义如下: struct Student { long number; //学号 Student *next; //指向下一个结点的指针 }; 下面的函数Delete()是从链表中将指定学号的学生结点删除,它有两个参数:head是学生链 表的链首指针,number是被删除结点的学生学号,请完成该函数。 void Delete(Student *head, long number) { Student *p; if( [1] ) return; if(head->number == number) { [2] ; head=head->next; delete p; return; } for(Student *s=head; s->next; [3] ) { if( [4] ) { p=s->next; s->next=p->next; delete p; [5] ; } } cout< 2. 下面的函数rotate()实现将二维数组m参数表示的方阵进行顺时针旋转90°。例如,它将数组 11 22 33 44 55 66 77 88 99 变为: 77 44 11 88 55 22 99 66 33 请将程序补充完整。 [1] int SIZE=4; [2] int Matrix[SIZE][SIZE]; void rotate(Matrix m) { [3] ; for(int i=0; i 1.[1] swap(&i,&j) [2] *p1=*p2 [3] *p2=temp 2.[1] num=0 [2] i 3.[1] > [2] a,&maxp,&minp [3] a[maxp][minp] 4.[1] refswap(a,b) [2] a=b [3] b=temp 5.[1] *(a+i*n+j)>max [2] *(a+i*n+j) [3] &a[0][0] 五、程序填空题 1. 下面的C++程序中,定义了一个描述时间的类Time,请在下划线处填入正确的程序代码。 #include void set_time(); void [1] ; private: int hour; int minute; int [2] ; }; void Time::set_time() { cin>>hour; cin>> [3] ; cin>>sec; } void Time::show_time() { cout< 2. 以下是一个采用类结构的方式求n!的程序,请填空完成程序。 #include Factorial::Factorial(int val) { n=val; [1] ; } void Factorial::Calculate () { int i=n; while(i>1) [2] ; } void Factorial::Display () { cout< cout<<\请输入n的值:\ [3] ; A.Calculate (); A.Display (); } 3. #include [1] : //填写访问属性 void set_value(); //输入10个整数并存放在数组array中 void max_value(); //求数组中的最大值 void show_value() { cout<<\private: int array[10]; int max; }; void MArray::set_value() { int i; for (i=0;i<10;i++) [2] ; } void MArray::max_value() { int i; max=array[0]; for (i=1;i<10;i++) if (array[i]>max) [3] } int main() { MArray arrmax; arrmax.set_value(); arrmax.max_value(); arrmax.show_value(); } 4. 使类完整 [1] A { int *a, n; public: A():a(0),n(0) { } A(int nn) { [2] //用nn初始化n [3] //用a指向长度为n的动态数组空间 } }; 5. 下面的C++程序定义了一个找出整型数组中元素的最大值的类Array_M,请在下划线处填入正 确的程序代码。 class Array_M { public: void set_value(); void [1] ; void show_value(); private: int arrayd[20]; int max; }; void Array_M::set_value() { int i; for (i=0;i<20;i++) cin>>arrayd[i]; } void Array_M::max_value() { int i; max=arrayd[0]; for(i=1;i<20;i++) if (arrayd[i]>max) max= [2] ; } void Array_M:: [3] { cout<<\} 6. 以下是Box类的定义,其中height是静态数据成员。要求程序输出为: 10 10 3000 源程序如下: #include int width, length; public: Box(int,int); int volume(); [1] ; //将height定义为静态整形数据成员 }; [2] //在类体外定义构造函数,宽度width和 //长度length的缺省值均为10 { width=w;length=len; } int Box::volume() { return (height*width*length); } int Box::height=10; void main() { Box a(15,20); cout< 7. 下面的C++程序定义一个矩形类CRectangle。 class CRectangle { double a,b,x,y; //(a,b)和(x,y)分别为左上角和右下角的坐标 public: CRectangle(double a=0,double b=0,double x=1,double y=1) { if ((a==x)||(b==y)) {this->a=this->b=0;this->x=this->y=0;} else {this->a=a;this->b=b;this->x=x;this->y=y;} } int IsSquare() { //判断是否为矩形,若是返回1,否则返回0 if ( [1] ) return 1; else return 0; } void Move(int xx,int yy) {//按左上角将矩形移动到(xx,yy)位置 [2] ; [3] ; } }; 1. [1] show_time() [2] sec [3] minute 2.[1] fact=1 [2]fact*=i-- [3]Factorial A(n) 3. [1]public [2]cin>>array[i] [3]max=array[i]; 4. [1]class [2]n=nn; [3]a=new int[n]; 5. [1]max_value() [2]arrayd[i] [3]show_value() 6. [1]static int height [2]Box::Box(int [3]cout< 7.[1]fabs(a-x)==fabs(b-y) [2] x+=xx-a; [3] y+=yy-b; 五、程序填空题 1. 下面函数声明类comp,用友元函数重载运算符\。 [1] comp { public: int real,imag; comp(int r=0,int i=0){real=r;imag=i;} friend comp operator +(comp &,comp &); }; comp [2] { int r,i; [3] ; i=x.imag+y.imag; return comp(r,i); } 2. 声明复数的类complex,用友元函数重载运算符\。 class complex { public: int real, imag; complex(int r=0, int i=0) { real=r; imag=i; } [1] complex operator -(complex &,complex &); }; complex operator -(complex &a, complex &b) { int r=a.real -b.real; int i= [2] ; return [3] ; } 3. #include w=10, int len=10) using namespace std; lass point { private: float x,y; public: point(float xx=0, float yy=0) { x=xx; y=yy; } ~point() { } bool operator==(point &); bool operator!=(point &); point operator+=(point &); point operator-=(point &); float get_x() { return x; } float get_y() { return y; } }; bool point::operator==(point &p) { if ( [1] ) return 1; else return 0; } bool point ::operator!=(point &p) { if ( x!=p.get_x() && y!=p.get_y() ) return 1; else return 0; } point point::operator+=(point &p) { this->x+=p.get_x(); this->y+=p.get_y(); return [2] ; } point point::operator-=(point &p) { this->x-=p.get_x(); [3] return *this; } void main() { point p1(1,2), p2(3,4), p3(5,6); cout<<\p3+=p1; cout<<\p3-=p1; cout<<\} 运行结果为: p1==p2? 0 p1!=p2? 1 p3+=p1,p3: 6,8 p3+=p1,p3: 5,6 4. 下面的Time类重载运算符\使之满60秒进一分钟,此时秒又从0开始计时,请在下划线处 填入正确的程序代码。 #include using namespace std; class Time { public: Time() {minute=0;sec=0;} Time(int m,int s):minute(m),sec(s){} [1] ; void display() {cout< Time Time::operator++() { if (++sec>=60) { sec= [2] ; minute= [3] ; } return *this; } 1.[1]class [2]operator +(comp &x, comp &y) [3]r=x.real+y.real; 2.[1] friend [2]a.imag-b.imag [3]complex(r,i) 3.[1]x==p.get_x() && y==p.get_y() [2](*this) [3]this->y-=p.get_y(); 4.[1]Time operator++() [2]sec-60 [3]minute+1 五、程序填空题 1. #include protected: int size; int speed; public: void setSpeed(int s) { speed=s; } [1] getSpeedLevel() { return speed/10; } }; class car :public vehicle { public: int getSpeedLevel() { return speed/5; } }; class truck :public vehicle { public: int getSpeedLevel() { return speed/15; } }; int maxSpeedLevel(vehicle [2] , vehicle [3] ) { if (v1.getSpeedLevel()>v2.getSpeedLevel()) return 1; else return 2; } void main() { truck t; car c; t.setSpeed(130); c.setSpeed(60); cout< 2. A为抽象类,输出为: this is class B printing this is class C printing 源程序为: #include class B :public A { public: void printMe() { [2] <<\}; class C :public B { void printMe(){cout<<\}; void print( [3] ) { a.printMe(); } void main() { B b; C c; print(b); print(c); } 3. 下面程序的输出结果为0,56,56。 #include [1] func(){return 0;} }; class derived:public base{ public: int a,b,c; [2] setValue(int x,int y,int z){a=x;b=y;c=z;} int func(){return (a+b)*c;} }; void main() { base [3] ; derived d; cout< cout< 4. 下列程序的运行结果如下: A1.s Print() called. A2.s Print() called. 根据结果将下面的程序补充完整。 #include public: A(int a){b=a;} [1] protected: int b; }; class A1:public A { public: [2] void Print() { cout<<”A1.s Print() called.”< class A2: public A { public: [3] void Print() { cout<<”A2.s Print() called.”< void fun( [4] ){ obj->Print(); } void main() { A1 &c1=new A1(1); [5] fun(c1); fun(c2); } 1. [1] virtual int [2] &v1 [3] &v2 2. [1]virtual void printMe()=0; [2]cout [3] A &a 3.[1] virtual int [2] void [3] b 4. [1]virtual void Print()=0; [2]A1(int i):A(i){} [3]A2(int i):A(i){} [4]A *obj; [5]A2*c2=new A2(s); 四、程序填空题 1. 下面是实现类fraction(分数)的定义的测试程序,其中重载运算符<<以分数形式给出结果。例如 将三分之二输出为2/3。 #include [1] class fraction{ int den,num; public: fraction( int y, int x ) { den=y; num=x; }; private: [2] ostream &operator<<(ostream &s,fraction fr); }; ostream &operator<<(ostream &s,fraction fr) { s< void main() { fraction f(2,3); cout< 1. [1]
正在阅读:
c++程序填空04-03
猎头操作流程(面向客户)人才寻访方案10-15
2016年安徽省计算机二级考试C语言(模拟试卷一)11-10
2012年9月证券从业考试证券交易真题及答案-中大网校06-20
小学生感动的作文600字06-15
现场组织机构各主要岗位的职责概述08-18
网页设计复习资料04-13
我喜欢这顿饭作文800字06-27
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- c++
- 填空
- 程序
- 广西岳池县2017-2018学年八年级上学期期末考试物理试题(原卷版
- 08040101-计算机网络设备安装检验批质量验收记录
- 高级工井下作业工模板
- 六年级下册写字教学计划和教案
- 音响术语必备常识
- 大江保卫战说课稿
- 微生物采油技术
- 2017年下半年 网络工程师 真题与答案详解
- 宁东能源化工基地1#综合渣场工程施工组织设计 000doc
- 2018-2019年中国互联网网民在线消费行为研究报告 - 图文
- 佛山市摩托车零部件企业名录106家
- 高光谱遥感课程教学与实践教学环节设计
- 2017年海南省建设工程工程测量员考试试卷
- 李鸿章的功与过
- 工信部公告内的新能源汽车制造企业及新能源汽车产品种类目录汇总
- 陕西2015学考地理真题
- 电器工程量计算规则11
- 02-接口配置命令
- 15级语文试卷2
- 我国海洋环境保护存在的问题及应对措施