《C++程序设计》函数.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《C程序设计》函数

淮海工学院计算机科学系 实验报告书 课程名: 《C++程序设计》 题 目: 函数 班 级: 软件102班 学 号: 111003215 姓 名: 鹿迅 实验内容或题目 (1)编写函数求一元二次方程的根,并在main主函数中调用该函数。 (2)编写函数fac(int n)求n!,并在main主函数中进行调用,输出6!的值。 (3)有n个大小不同的盘片从大到小放在A柱上,另有B和C两个空柱,要求将这n个盘片从A柱搬到C柱上,在搬动过程中,每次只能搬一个盘片,而且小的不能放在大的之下。编写hanio函数实现搬迁过程。 (4)写一个判别素数的函数,在主函数中输入一个整数,输出是否为素数的信息。 (1)要求熟练掌握函数的定义和调用,熟悉函数返回值的使用。 (2)熟悉函数调用的方式和过程。 (3)重点掌握递归函数的使用。(4)要求实验的第3题采用递归函数编写,盘片的数目在main主函数中输入。提示:函数的参数定义如hanio(n,A,C,B),表示将n个盘片从A柱通过C柱搬到B柱。 ⑴ 实验步骤 第一题本以为和书本上的题一样,但仔细看后发现要调用函数,我就参考了书本上的例题,先函数声明,把原来的主函数中的一部分改到调用函数中去就解决了。 第二题较简单,记住书上的例题和思想就可以了。第三题是最复杂的,想了好几天,上机好多次才解决,关键是要整体看这个问题,把前(n-1)看成整体,移到中间,把第(n)移到最后,再把前(n-1)个移到最后。第四题也要思考,关键是要用好循环语句,循环时注意把int sqrt(a)作为中间植,这样就简约多了。 ⑵ 源代码 1. #include iostream #include cmath using namespace std; double root(double,double,double) ; int main () { double a,b,c,f; cinabc; f=root( a, b, c); return 0; } double root(double a,double b,double c) { double x,y,t; t=b*b-4*a*c; if (t0) { x=(-b+sqrt(t))/(2*a); y=(-b-sqrt(t))/(2*a); coutx yendl; } else if (t==0) { x=-b/(2*a); y=x; coutx yendl; } else { couterrorendl; } coutendl; return 0; } 2. #include iostream using namespace std; double fac(int); int main () { int n=6,y; y=fac(n); coutyendl; return 0; } double fac(int a) { int b; if (a=0) coutdata is errorendl; else if(a==1) b=1; else b=fac(a-1)*a; return b; } 3. #includeiostream using namespace std; void hanoi (int, char,char,char); void main () { int n; cinn; hanoi (n,A,B,C); coutendl; } void hanoi(int a,char A,char B,char C) { if(a=0) couterrorendl; else if(a==1) coutmove a from A to Cendl; else { hanoi(a-1,A,C,B); coutmove a from A to Cendl; hanoi(a-1,B,A,C); } } 4. #include cmath using namespace std; int f(int); int main () { int a,y; cina; y=f(a); return 0; } int f(int n) { int k,i,b,z; b=int(sqrt(n)); if (n=1) {

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档