




免费预览已结束,剩余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安徽阜阳市颍州区选调区内乡镇在编在岗教师60人模拟试卷及一套答案详解
- 2025湖南大学重庆研究院招聘计算机、汽车智能座舱内饰等方向博士后考前自测高频考点模拟试题及完整答案详解
- 2025内蒙古省际劳务协作招聘岗位模拟试卷完整参考答案详解
- 2025年4月杭州市采荷中学编外教师招聘3人模拟试卷附答案详解(黄金题型)
- 2025福建泉州广播电视台专项招聘编制内高层次人才12人模拟试卷及完整答案详解
- 2025年佳木斯同江市事业单位公开遴选管理人员和专业技术人员73人模拟试卷附答案详解(突破训练)
- 2025年德州武城县公开招聘省属公费师范毕业生(36名)考前自测高频考点模拟试题及答案详解(历年真题)
- 2025贵州三都水族自治县人民医院(医共体)总院第二次招聘合同制工作人员51人模拟试卷附答案详解(黄金题型)
- 2025江苏省宿迁市沭阳县面向普通高校应届师范类毕业生校园招聘325人(第一批次)考前自测高频考点模拟试题及一套完整答案详解
- 2025内蒙古工业大学“百名博士”高层次人才引进197人考前自测高频考点模拟试题(含答案详解)
- ktv营销经理雇佣合同协议
- 2025年全运会知识竞赛试题及答案
- 2025年陕西清水川能源股份有限公司招聘笔试参考题库含答案解析
- 《光伏逆变器用长寿命级CD297S型铝电解电容器》
- 《公路软土地基处治工程技术规范》(DB45T 1972-2019)
- 工余安健环知识培训
- 云南省石林县鹿阜中学七年级地理上册 第一章 第四节 地球的公转教案 (新版)商务星球版
- 《路遥人生》读书分享课件
- 以青春之名励青春之志
- 小学数学新旧知识关联
- 第9课 共同弘扬中华传统美德 《中华民族大团结》(初中 精讲课件)
评论
0/150
提交评论