- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)