河北工业大学C实验报告实验五.docx
- 文档编号:10468504
- 上传时间:2023-02-13
- 格式:DOCX
- 页数:9
- 大小:56.45KB
河北工业大学C实验报告实验五.docx
《河北工业大学C实验报告实验五.docx》由会员分享,可在线阅读,更多相关《河北工业大学C实验报告实验五.docx(9页珍藏版)》请在冰豆网上搜索。
河北工业大学C实验报告实验五
1、已知下列主函数:
intmain()
{
cout< cout< cout< return0; } 声明求3个数中最小者的函数模板,并写出调用此函数模板的完整程序。 #include usingnamespacestd; template Tmin(Ta,Tb,Tc) { Tmin; if(a<=b) min=a; else min=b; if(min>=c) min=c; returnmin; } intmain() { cout< cout< cout< return0; } 2、编写一个求任意类型数组中最大元素和最小元素的程序,要求将求最大元素和最小元素的函数设计成函数模板,并写出调用此函数模板的完整程序,使得函数调用时,数组的类型可以是整型也可以是双精度类型。 #include usingnamespacestd; template voidGetMaxMin(T*a,inttheSize) { TtmpMax=a[0]; TtmpMin=a[0]; for(inti=0;i { if(a[i]>tmpMax) { tmpMax=a[i]; } if(a[i] { tmpMin=a[i]; } } cout<<"maxelemis"< cout<<"minelemis"< } intc[]={1,2,3}; doubleb[]={1.1,2.2,3.3}; chard[]={'a','b','c'}; voidmain() { GetMaxMin(c,3); GetMaxMin(b,3); GetMaxMin(d,3); } 3、编写一个函数模板,使用冒泡排序将数组内容由小到大排列并打印出来,并写出调用此函数模板的完整程序,使得函数调用时,数组的类型可以是整型也可以是双精度型。 #include usingnamespacestd; template classpaixu { t*set; intn; public: paixu(t*data,intm): set(data),n(m){} voidsort(); }; template voidpaixu : sort() { ttemp; for(inti=0;i for(intj=0;j if(set[j]>set[j+1]) { temp=set[j]; set[j]=set[j+1]; set[j+1]=temp; } for(intj=0;j cout< cout< } intmain() { inta[]={1,3,2,7,5,9}; doubleb[]={6.6,9.9,7.7,8.8,4.4,2.2}; paixu p1.sort(); paixu p2.sort(); charc[]={'a','c','r','b'}; paixu p3.sort(); return0; } 4、编写一个程序,使用类模板对数组元素进行排序、倒置、查找和求和。 【提示】 设计一个类模板 template classArray { …… }; 具有对数组元素进行排序、倒置、查找和求和功能,然后产生类型实参分别是int型和double型的两个模板类,分别对整型数组与双精度数组完成所要求的操作。 #include #include template classArray { T*set; intn; public: Array(T*data,inti){set=data;n=i;} ~Array(){} voidsort();//排序 intseek(Tkey);//查找指定的元素 Tsum();//求和 voiddisp();//显示所有的元素 }; template voidArray : sort() { inti,j; Ttemp; for(i=1;i for(j=n-1;j>=i;j--) if(set[j-1]>set[j]) { temp=set[j-1];set[j-1]=set[j];set[j]=temp; } } template intArray : seek(Tkey) { inti; for(i=0;i if(set[i]==key) returni; return-1; } template TArray : sum() { Ts=0;inti; for(i=0;i s+=set; returns; } template voidArray : disp() { inti; for(i=0;i cout< cout< } voidmain() { inta[]={6,3,8,1,9,4,7,5,2}; doubleb[]={2.3,6.1,1.5,8.4,6.7,3.8}; Array Array cout<<"arr1: "< cout<<"原序列: ";arr1.disp(); cout<<"8在arr1中的位置: "< arr1.sort(); cout<<"排序后: ";arr1.disp(); cout<<"arr2: "< cout<<"原序列: ";arr2.disp(); cout<<"8.4在arr2中的位置: "< arr2.sort(); cout<<"排序后: ";arr2.disp(); }5、编写一个程序,求输入数的平方根。 设置异常处理,对输入负数的情况给出提示。 #include #include usingnamespacestd; voidmain() { doublenumber; cout<<"请输入一个数: "; cin>>number; try { if(number<0) thrownumber; cout<<"平方根是"< } catch(double) { cout<<"输入数为负数,错误! "< } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 河北 工业大学 实验 报告