- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3次作业一、填空题(本大题共20分,共 5 小题,每小题 4 分)1.
类型兼容原则指的是:任何在需要 对象的地方,都可以用 的对象去替代。
2.
。
3.
STL中算法大致分为四类,分别是 、 、 、 。
4.
以下程序的执行结果是 。
#include <iostream>
using namespace std;
class A{
int x;
public:
A(int x){this->x=x;}
A &operator--(){x--;return *this;}
A operator--int){A a(x-=2);return a;}
void show(){ cout<< x;}
};
void main(){
A a(3),b(3);
(a--).show();
(--b).show();
}
5. 以下方阵类CSquare完成查找n行n列的二维int数组中两对角线上最大元素的值.请你填空完成此功能.?#include class CSquare { int *arr; //arr 为矩阵首地址 int num; //表示行数与列数 ______ // CSquare(int *p, int n) { ______ // num = n; } ______ // }; int CSquare::FindMax() const { int max; int i = 0; int r, c, tmp;?max = arr[0]; for(; i < num ; i++) {?r = arr[i*num + i] ; // r为第i行对角线上的一个元素值 ______ // c为第i行另一个对角线上的一个元素值 if( r > c ) tmp = r; else tmp = c; if ( max < tmp) max = tmp; } return max; }?void main() { static int a[5][5] = {{?20, -5, 21, 18, 156?},{ 3, -6, -8, 26, -3 },?{ 10, 7, 74, 200, 0 },{ 11, 94, 3, 239, 11 },{?-7, 23, 88, 28, 83 }?};?CSquare s((int*)a, 5);?int max = s.FindMax(); cout<<"max="<<="" 应输出:max="239">二、程序阅读题(本大题共40分,共 5 小题,每小题 8 分)1.
int main()
{
int k=2,i=2,m;
m=(k+=i*=k);
printf("m=%d\ti=%d\n",m,i);
return 0;
}
2.
#include <iostream>
using namespace std;
int main()
{
int a[]={1,2,3,4,5,6,7,8,9,10},s=0,i;
for(i=0; i<10; i++)
if(a[i]%2)
s=s+a[i];
cout<<"s="<<s<<endl;;
return 0;
}
3.
#include <iostream>
#include <cstring>
using namespace std;
void mycat(char *s,char *t,int p);
int main()
{
char s1[20]="abcdefg",s2[200]="12345";
mycat(s1,s2,3);
puts(s1);
?
return 0;
}
void mycat(char *s,char *t,int p)
{
strcat(t,s+p);
strcpy(s+p,t);
}
4.
#include <iostream>
using namespace std;
int avere(int x,int y,int z);
double aver(double x,double y,double z);
int main()
{
int ai=1,bi=2,ci=3;
double ad=1.5,bd=5.5,cd=7.5;
cout<<"ai+bi+ci="<<aver(ai,bi,ci)<<endl;
cout<<"ad+bd+cd="<<aver(ad,bd,cd)<<endl;
?
文档评论(0)