- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2014040206027刘明哲作业1第1章课后作业
实验报告课程名称:计算机软件技术基础
学 院:物理电子学院
专 业:电子信息与科学技术
学生姓名:刘明哲
学 号:2014040206029日 期:2015年03月22日
1.3利用减半递推技术,写出长度为n的数组中最大元素的递归算法(用C/C++描述)。设n=2^k,其中k=1。
程序说明:
如果数组中只有一个元素,则该元素即数组中的最大元素,否则将数组对半分为前半部分和后半部分;
分别求出数组前半部分和后半部分的最大值m1、m2并比较二者大小,若m1m2,则m1为数组中的最大值,否则m2为数组中的最大值;
程序清单:
#includestdio.h
int max(int array[],int m,int n)
{
int d,d1,d2;
if(m==n)
return(array[m-1]);
else
{
d1=max(array,m,(m+n)/2);
d2=max(array,(m+n)/2,n);
if(d1d2)
d=d1;
else
d=d2;
return(d);
}
}
main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
printf(maximum=%d\n,max(a,1,10));
return 0;
}
调试说明:
运行结果:
程序无法运行
1.4编写二分法求方程实根的减半递推算法(用C/C++描述)。
程序说明:
首先取给定区间的中点c=(a+b)/2;
然后判断f(c)是否为0.若f(c)=0,则说明c即为所求的根,求解过程结束;若f(c)!=0,则根据以下原则将区间减半;
若f(a)f(c)0,则取原区间的前半部分;若f(b)f(c)0,则取原区间的前后部分;
最后判断减半后的区间长度是否已经很小;
若|a-b|l,则过程结束,取(a+b)/2为根的近似值;若|a-b|=l,则重复上述的减半过程。
程序清单:
#includestdio.h
#includemath.h
double function(double x)
{
return(2*x*x*x-3*x*x+2*x-6);//初始化方程
}
int main()
{
double lit=0.1;
double a,b;
printf(请输入取值范围:\n);
scanf(%lf%lf,a,b);//输入二分法取值边界
double c=(a+b)/2;
double result;
while (fabs (function(c)) lit)//判断中点的函数值是否大于极限值,满足则进行递推
{
if(function(c)0)
{
b=c;
}
if(function(c)0)
{
a=c;
}
c=(a+b)/2;
}
if(fabs(function(c))lit)//判断中点的函数值是否小于极限值,满足则近似看成方程组的零点
{
result=c;
printf(the result is:%f\n,result);
}
else
{
printf(error\n);
}
getchar();
getchar();
return 0;
}
调试说明:
运行结果:
程序暂时无法实现自主输入各项系数的功能,原因不明,尚且有待改进;
程序运行结束后窗口立即自动关闭,不过在最后添加一行getchar()后问题得到初步解决;
1.5编写用回溯法求解皇后问题的算法(用C/C++描述)。
程序说明:
程序清单:
调试说明:
运行结果:
文档评论(0)