实验五、函数程序设计剖析_第1页
实验五、函数程序设计剖析_第2页
实验五、函数程序设计剖析_第3页
实验五、函数程序设计剖析_第4页
实验五、函数程序设计剖析_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验五函数程序设计一、实验目的掌握函数的定义、函数的说明和调用。掌握函数的参数及其传递方式,函数值的正确返回。二、实验设备及分组WindowsXP操作系统;VisualC+6.0语言环境:每人一台PC机。三、实验内容、目的掌握标准库函数的说明和调用方法。题目内容编写一个程序,首先显示一个菜单,然后根据用户的选择,输入数据后,执行相应的操作。输入用户选择和函数自变量值输出如下菜单:=MENU=2.oooooooooooCOS3pow49OOooooooooosqrt0.oooooooooooexit提示使用标准库函数、多分支选择结构。目的掌握用户自定义函数的定义、函数的说明和调用方法。题目内容编

2、写一个用户自定义函数,该函数有一个整型参数,函数的功能是:当这个整型数的值是偶数时,函数的返回值为0,当这个整型数的值是奇数时,返回值为1。编写一个程序,从键盘输入任意10个整数,分别调用用户自定义函数来判断这10个整数的奇偶性。输入任意10个整数输出1这10个整数的奇偶性提示在主函数中使用循环结构输入10个整数。根据子函数的返回值输出相应的判断结果信息。目的掌握用户自定义函数的定义、函数的说明和调用方法。题目内容编写一个用户自定义函数,该函数有三个整数参数,函数的功能是:求解这三个整数的最大值,函数的返回值为三个参数的最大值。编写一个程序,从键盘输入任意5个整数,分别两次调用用户自定义函数来

3、求出这5个整数中的最大值。输入任意5个整数输出这5个整数的最大值提示先用前三个整数调用函数,求出的最大值作为参数之一,再与另两个整数一起求岀最大值即为所求。目的掌握用户自定义函数的定义、函数的说明和调用方法。题目内容&;表示从m各元素中抽出n个元素的排列的个数。它的计算公式为:处命。编写一个用户自定义函数,该函数有一个整数参数,函数的功能是:求解这个整数的阶乘,函数的返回值为这个整数的阶乘。编写一个程序,从键盘输入m、n值,分别两次调用用户自定义函数来求解A:;。输入m、n值输出&;的值提示注意(m-n)小于零的情况的处理目的掌握用户自定义函数的定义、函数的说明和调用方法。題目内容已知/(X)

4、=C0S3)XX的初始值为3.14159/4,用牛顿法求解方程/w=0的近似解,要求精确到10。/(X)的牛顿法为:COS(A;)-X/rh+1sm(兀)+1四、课后作业(写在实验报告中)1.目的掌握用户自定义函数的定义、函数的说明和调用方法。题目内容编写一个用户自定义函数,该函数有2个数值参数X、11,函数的功能是:求解x,函数的返回值为x的n次方的值。编写一个程序,调用用户自定义函数来求解53十4*的值。输入无输出53十4$的值#includeusingnamespacestd;intfun(inta,intb)inti,p=l;for(i=1;i=b;i+)p*=a;returnp;in

5、tmain()intfun(inta,intb);coutfun(53)+fun(4,8);return0;题目内容编写一个用户自定义函数,函数的功能是:将华氏温度转换为摄氏温度。编写一个程序,输出一个华氏温度与摄氏温度的对照表,其中华氏温度从32开始到100为止,步长为4。输入无输出如下:华氏温度摄氏温度320.00362.22404.44446.67488.895211.115613.336015.566417.786820.007222.227624.448026.678428.898831.119233.339635.5610037.78提示主函数使用for(f32;fc=100;f=

6、f+4)#includeusingnamespacestd;doublefxin(intf)doubletemp;temp=(f-32)*5.0/9;ietumtemp;mtmam()mti;xxfor(i=32;K=100;i=i+4)couti11Mfxin(i)endl;fetum0;D:C-i-+t11.exe92.222224.444446.6666?148528.8888911.111122.222224.444426.666728.888931.111133.333335.555610037?8半:dwithi、Etiu、nu&lxue03目的掌握用户自定义函数的定义、函数的说明

7、和调用方法。题目内容编写一个程序,从键盘输入圆的半径值,调用函数求解圆的面积和周长。输入圆的半径值输出圆的面积和周长提示设计两个函数分别求圆的面积和周长(每个函数的etum语句只能返回一个数值)。#includeusingnamespacestd;doublefl(intijdoublel,pi=3.14;l=2*pi*r;fetum1;doublefs(mtr)doubles,pi=314;s=pi*i*r;ietums;mtmam()mta;coutH请输入圆的半径Hendl;cina;coutfl(a)endl;coutfs(a)endl;ietum0;4目的掌握用户自定义函数的定义、函

8、数的说明和调用方法。题目内容编写一个用户自定义函数,该函数有一个整数参数,函数的功能是:判断这个整数是否素数,函数的返回值为判断结果。编写一个程序,从键盘输入任意1个整数,调用用户自定义函数来判断这个整数是否素数。输入任意1个整数输出是否素数的信息提示函数的返回值可以一个标志变量表示,例如,flag=l,表示是素数;flag=0表示不是素数。主函数根据返回值的情况输出相应信息。#includeusingnamespacestd;mtfiin(inta)mti,k.flag;foi(i=2;ia;i+)k=a%i;if(k=0)break;if(i=a)flag=l;elseflag=0;iet

9、umflag;mtmam()mtb;coutH请输入一个整数Hendl;cinb;if(fiin(b)=O)coutn不是素数”endl;elsecoutn素数nendl;ietum0;5目的掌握用户自定义函数的定义、函数的说明和调用方法。题目内容李生素数是指两个相差为2的素数。例如3和5,5和7,11和13等。编写程序输出m对(m由键盘输入)李生素数。要求设计函数prime用于判断某整数是否素数。输入整数m输出输出m对李生素数#includeusingnamespacestd;intprime(inta)inti,k,flag;for(i=2;im;for(i二2;i=m)break;ret

10、urn0;6目的掌握用户自定义函数的定义、函数的说明和调用方法。题目内容编写一个用户自定义函数,该函数的功能是:输出一个用*号绘制的实心正方形。正方形的边长用整数side指定。编写一个程序,从键盘输入任意1个整数,调用用户自定义函数输出指定边长的正方形图形。如果要用#号绘制图形,程序应该如何修改?输入任意1个整数输岂指定边长的正方形图形提示函数voidfun1(intside)#iiicludeusingnamespacestd;iiithm(intside)intij;for(i=1;i=side;i+)for(j=lj=sidej+)cout,*H;coutendl;iiitmain()m

11、tfiin(intside);iiits;cout请输入正方形的边长endl;ciiis;retuin0;1關输入正方形的边长5D:C+Jr11.exe*X-JWX*?rmcludeusingnamespacestd;hithm(intside,charch)intij;for(i=1;i=side;i+)for(j=lj=sidej+)coutch;coutendl;hitmain()iiithm(intside?charch);iiits;charh;cout请输入正方形的边长和形状”endl;ciiish;fun(s,h);return0;7.目的掌握用户自定义函数的定义、函数的说明和调

12、用方法。题目内容编写一个用户自定义函数,该函数有一个整数参数,函数的功能是:判断这个整数是否素数,函数的返回值为判断结果。编写一个程序,求3到100之间的所有素数。输入无输出是否素数的信息提示函数的返回值可以一个标志变量表示,例如,flag=l,表示是素数;flag=0表示不是素数。主函数根据返回值的情况输出相应信息。#includeusingnamespacestd;mtfiin(inta)mti,k.flag;fof(i=2;ia;i+)k=a%i;if(k=0)break;if(i=a)flag=l;elseflag=0;ietuniflag;mtmam()mti;for(i=3;i=1

13、00;i+)if(fini(i)coutiendl;ietuni0;xxD:C+程序门.exe13793917137391713939?35711NN22334445566?889&目的掌握递归的用法。【题目内容】编写计算m的次方的递归函数。【输入】m和n【输出】m的n次方结果。#includeusingnamespacestd;doublefiin(intn,doublem)if(n=0)letuni1;elseletiunmtmam()doublein,i;mtn;coutH请输入m和n:Mendl;cinmn;coutiendl;ietuin0;9目的掌握递归的用法。【题目内容】用递归方

14、法求N阶勒让德多项式的值,递归公式为1(/?=0)E=1)【输入】x和n【输出】多项式的值Pno#includeusingnamespacestd;doublehm(doublen,intx)if(n=0)letuni1;elseif(n=l)letumx;elseletinn(2*n-l,x)-(n-1)*fiui(n-2,x)/n;mtmam()doublen,1;mtx;coutn请输入x和n:Hendl;cinxn;i=fun(n,x);coutiendl;ietum0;10目的掌握用户自定义函数的定义、函数的说明和调用方法。【题目内容】求所有4位的可逆素数。可逆素数是指:一个素数将其

15、各位数字的顺序倒过来构成的反序数也是素数。#includeusingnamespacestd;mtfxin(inta)mti,k、flag;for(i=2;ia;i+)k=a%i;if(k=0)break;if(i=a)flag=l;elseflag=0;ietuniflag;mtmam()mta,b,c,djj;for(a=l;a=9;a十十)foi(b=l;b=9;b+)fbi(c=l;c=9;c十十)for(d=l;d=9;d+)i=1000*a+100*b+10*c+d;j=1000*d+100*c+10*b+a;if(fiui&coutiMnjendl;ietuni0;n.目的掌握用

16、户自定义函数的定义、函数的说明和调用方法。【题目内容】1.已知5个学生4门课的成绩,要求主函数分调用各函数实现:找出每门课成绩最高的学生序号;找出课程有不及格的学生的序号及其各门课的全部成绩;求每门课程的平均分数,并输出;将学生按总分高低排序。#includeusingnamespacestd;intmax(int4,int,int);intunpass(int4,int,int);intave(int4,int,int);intmax(intgrade4,ints,intc)inti,j,n;intmax=0;for(j=0;jc;j+)for(i=0;imax)max=gradeij;n二

17、i;cout,f每门课成绩最高的学生序号为:Mnendl;return0;intunpass(intgrade4,ints,intc)inti,j;for(i=0;is;i+)for(j=0;jc;j+)if(gradeij60)coutH不及格的学生序号为:”;for(j=0;jc;j+)coutgradeijr;coutendl;break;return0;intave(intgrade4,ints,intc)inti,j;doublesum;for(j=0;jc;j+)sum=0;for(i=0;is;i+)sum=sum+gradeij;coutw课程Mj”的平均数为:Msum/5en

18、dl;return0;intsmax(intgrade4,ints,intc)inti,j,sum二0,max二0,t;intb5;for(i=0;is;i+)sum=0;for(j=0;jc;j+)sum+=gradeij;bi=sum;for(i=0;is;i+)for(j=i+l;jbj)t=bi;bi=bj;for(i=0;is;i+)coutbirw;intmain()intsg4=64,65,87,88,57,98,95,96,(67,78,56,64,90,56,89,87,(95,64,86,85;max(sg,5,4);unpass(sg,5,4);ave(sg,5,4);smax(sg,5,4);886为为为为925号号号号576790序序序序123生生生生聖军为为为74的的的的号号号砒寫1:高高高高序序序1文文攵步绩绩憊$ffFW成成成的的的H讦评评课课课及及拾程程程5r母每每不币不课课课课1266624488303一均均均均22平平平平34Ann0-01233呈呈呈呈;为为为为6227411195568996648?Processexitedwithreturnvalue0Pressanykeytocontinue.b软拼音半:X12.目的掌握用户自定义函数的定义、函数的说明和调用方法。【题

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论