C++04737 第3讲 课后练习题 完整答案.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 一、单项选择题 1. 声明 2.inline 3.对象、对象指针、引用 4.函数func返回引用 5.int *fun(char,int); 二、单项选择题 1.A;2.C;3.C; 三、改错题 1.template class T T fun(T x) { T y; y = x*x - T; // 错误,T是类型,不是变量,不能参加运算; return y; } 2.找出下面程序中的错误之并改正之。 #include iostream.h //C++标准中没有iostream.h头文件 template class Type Type max(T x, y) // x的类型和template中的不一样y没有类型。 { return (xy) ? (x) : (y); } #include iostream template class Type Type max(Type x, Type y) { return (xy) ? (x) : (y); } 3. 找出下面程序中的错误之并改正之。 函数change 的参数定义成了常量,只能使用参数,而无权修改他。 #include iostream #include string using namespace std; void change(const string s) 函数change 的参数定义成了常量,只能使用参数,而无权修改他。 { s = s + pig!; } void main() { string str(it is a ); change(str);cout str endl; } 修改如下: #include iostream #include string using namespace std; void change(string s) //函数change 的参数定义成了常量,只能使用参数,而无权修改他。 { s = s + pig!; } void main() { string str(it is a ); change(str);cout str endl; } 四、编程题 1.编写一个求方程ax2 + bx + c = 0的根 的程序,用3个函数分别求当b2-4ac大于零、等于零、和小于零时的方程的根。要求从主函数输入a,b,c的值并输出结果。 #include iostream #include cmath using namespace std; void equation_1 (int a, int b, int c) { double x1, x2, temp; temp = b*b - 4 * a * c; x1 = (-b + sqrt(temp) ) / (2 * a * 1.0); //分母乘以1.0是为了保证分母的结果位double型 x2 = (-b - sqrt(temp) ) / (2 * a * 1.0); cout两个不相等的实根 endl; coutx1 = x1, x2 = x2 endl; } void equation_2 (int a, int b, int c) { double x1, x2, temp; temp = b*b - 4 * a * c; x1 = (-b + sqrt(temp) ) / (2 * a * 1.0); x2 = x1; cout两个相等的实根 endl; coutx1 = x1, x2 = x2 endl; } void equation_3 (int a, int b, int c) { double temp, real1, real2, image1, image2; temp = - (b*b - 4 * a * c); real1 = -b / (2 * a *1.0); real2 = real1; image1 = sqrt(temp); image2 = - image1; cout两个虚根 endl; coutx1 = real1 + image1j endl; coutx2 = real2 - -image2j endl; //加了两个减号,显示更清晰 } void main() { int a, b, c; double temp; cout输入a,b,c的值 endl; //从主函数输入a、b、c cinabc; cout方程为: ax*x+ bx+ c = 0 endl; temp = b*b - 4 * a * c; if(temp 0) //使用if选

文档评论(0)

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

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

1亿VIP精品文档

相关文档