重大2017年C++程序设计语言第三次作业(含答案).doc

重大2017年C++程序设计语言第三次作业(含答案).doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

xiaodengyou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档