




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一 C+对C的扩充一、实验目的1.熟悉简单的C+程序编制,了解C+对的扩充;2.掌握C+的输入输出;3.掌握用const定义常变量及常变量的使用;4.掌握C+中函数原型的声明规则,知道与中声明的不同;5.掌握函数的重载、模板、带默认参数的函数、内置函数;6.掌握变量的引用,会使用作用域运算符;7.掌握字符串变量,熟练应用动态分配/撤销内存的运算符new和delete。二、实验要求1.复习教材第-6章中相关内容。2.复习语言的结构化程序设计相关知识。三、实验内容1.分析下面程序运行的结果#include using namespace std;int main( ) cout“This”“is”; cout“a”“c+”;cout“program.”“a+b=”a+b;3.运行程序#include class B private: int w,h,sum; public: void input()cinhw; int area()return h*w; void output()coutsum; int getW()return w; int getH()return h;void main() B x; cout“请输入第一个矩形的长和宽:”; x.input(); int a,b,c,sum; a=x.area(); b=(x.getw()+2)*(x.getH()+2); c=(x.getw()+4)*(x.getH()+4);sum=a+b+c; cout“三个矩形的面积分别为:”;couta“ ”b“ ”cendl;cout“三个矩形面积之和为:”sumendl;要求:(1) 输入并调试源程序。(2) 对源程序进行编译、连接、运行。(3) 输入第一个矩形的长和宽(长为2,宽为3)。(4) 分析源程序的功能,将运行结果填入下表中。第一个矩形第二个矩形第三个矩形长宽长宽长宽面积面积面积三个矩形的面积之和4.编写程序用同一个函数名对n个数据进行从小到大排序,数据类型可以是整型、单精度型、双精度型。用重载函数实现。实现方法及说明:(1)本题可用一维数组存储n个数据。(2)编写函数重载sort,对A数组的前n个数据进行排序处理,排序算法可采用“冒泡排序”。(3)编写主函数,通过说明并使用不同类型的数组对函数sort进行调用,以实现对这些不同数组的排序。可编写类似于如下样式的main()函数,对重载函数进行调用。int main() int Ai10=6,12,-3,9,-6,28,17,0,6,16; int i; cout“The initial array Ai is:”; for(i=0;i10;i+) coutsetw(4)Aii; coutendl; sort(Ai,10); cout“The sorted array Ai is:”; for(i=0;i10;i+) coutsetw(4)Aii; cout“n-n”; char Ac12=“ddokeftaster”; sort(Ac,11); 5.编写程序编写一个对n个数据进行从小到大排序的函数模板。编写主函数,通过使用不同类型的实参数组对它进行调用,以验证其正确性。可设计该函数模板的原型为:template void sort(Type *A,int n);实现方法及说明:(1)本题可用一维数组A存储n个数据,数组元素的数据类型为Type,且规定Type为可进行比较操作的某种任意类型,实参n指出要对数组A的前n个数据进行排序。(2)编写函数模板sort,对A数组的前n个数据进行排序处理,排序算法可采用“冒泡排序”。(3)编写主函数,通过说明并使用不同类型的数组对函数模板进行调用,以实现对这些不同数组的排序。可编写类似于如下样式的main()函数,对自定义函数模板进行调用。int main() int Ai10=6,12,-3,9,-6,28,17,0,6,16; int i; cout“The initial array Ai is:”; for(i=0;i10;i+) coutsetw(4)Aii; coutendl; sort(Ai,10); cout“The sorted array Ai is:”; for(i=0;i10;i+) coutsetw(4)Aii; cout“n-n”; char Ac12=“ddokeftaster”; sort(Ac,11); 6.编写程序编写一个具有如下功能的函数模板:求出一维数组B中前n个元素的最大值、最小值以及平均值,并显示在屏幕上。假设该函数模板的原型为:template void myFunTpt(T *B,int n)而后编写主函数,对函数模板进行调用,以实现对不同类型一维数组的处理过程。说明及实现方法:(1)本题假定为可通过运算符“”来进行比较且可以求平均值的一种可变化类型。(2)本题通过“template void myFunTpt(T *B,int n)”的形式来定义函数模板myFunTpt,它含有一个类型参数,而可以对应于多种不同的具体数据类型(假定为可进行比较且可以求平均值的类型),从而扩展了只可以处理某一数据类型的函数功能。(3)在主函数main()中对函数模板进行调用,调用方式与调用一般函数相类似,用户只需给出相应的实参,而后由系统将其实例化为一个具体的函数并实现调用过程。(4)函数模板myFunTpt中,为求数组B的前n个元素的最大值、最小值以及平均值,程序中使用了一个要执行n-1次的循环语句。但注意,进行循环前,必须为max、min与sum都赋予同一个初始值B0。7.编写程序编写函数模板tmplt,具有如下原型:template int tmplt(T *A,T *B,int n,T d);实现如下功能:求出一维数组A和B的前n个元素中共有多少个大于d的数据,并将结果作为函数值返回。而后编写主函数,使用不同类型的数组作为实参对tmplt进行调用,以验证该模板所实现功能的正确性。实现方法:(1)本题编写函数模板tmplt的具体代码,实现设定功能。其主体代码可以为:int s=0;for(int i=0;id) ; return s;(2)编写主函数,通过说明并使用不同类型的数组对函数模板进行调用,以验证其正确性。可编写类似于如下样式的main()函数,对自定义函数模板进行调用。int main() int a8=7,0,-5,-99,22,1,100,-18; int b8=-33,10,25,92,123,-1,123,18; cout“s1=”tmplt(a,b,8,0)endl; char m20=“abcABCxyz”; char n20=“NAKAIuniversity”; cout“s2=”tmplt(m,n,10,n)abc; coutmax(a,b,c)endl; return 0;9.编写程序求圆锥体和圆柱体的体积和。实现方法及说明:(1)分别定义函数实现求圆锥体和圆柱体的体积,半径的默认值为1.5。(2)利用const定义全局常量,以便为两个函数所共享。(3)在主函数中利用cin输入半径和高,调用两个函数,求得两者的和。利用cout输出结果。10.编写程序输入两个整数,将它们按由大到小的顺序输出。要求使用变量的引用。11.编写程序对3个变量按由小到大顺序排序,要求使用变量的引用。12.编写程序编一程序,将两个字符串连接起来,结果取代第一个字符串。要求用string方法。13.编写程序输入一个字符串,把其中的字符按逆序输出。如输入LIGHT,输出THGIL。要求用string方法。14.编写程序有5个字符串,要求将它们按由小到大的顺序排列,要求用string方法。15.完成下面程序,使其输出“5656”,并在退出运行时正确释放分配给指针的存储空间。所给程序如下:#include int main();int *&p=a;;cout*a *pb?a:b)实现方法及要求:(1)编写内置函数MAX(),实现求两个整数最大值的功能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 传统食品行业2025年生产自动化改造对产业创新的推动作用报告
- 小学语文培优辅差培训计划
- 四川省成都市嘉祥外国语学校2024-2025学年九上化学期末质量检测模拟试题含解析
- 江苏省苏州市虎丘区立达中学2025届九年级化学第一学期期末调研模拟试题含解析
- 揭阳市榕城区2024-2025学年化学九上期末考试试题含解析
- 篮球体能提升专项计划
- 物流企业2025年安全隐患排查计划
- 2025年手术室感染监测与整改计划
- 书香校园图书角布置计划
- 三年级下期班主任个别辅导计划
- 私企退休员工管理办法
- 2025年地区事业单位招聘公共基础知识重点难点突破试题
- 2025变压器类产品型号注册管理
- 推进教师跨学科教学能力提升方案
- 职业院校与企业深度合作2025年校企合作人才培养质量提升策略与实践报告
- 2025党考试题及答案
- 曲臂高空作业车安全操作规程
- 水路运输安全管理培训
- 中国支付体系行业市场运行现状及投资规划建议报告
- 2025年全国统一高考英语试卷(全国一卷)含答案
- 北京玉渊潭中学初一新生分班(摸底)数学模拟考试(含答案)【6套试卷】
评论
0/150
提交评论