77范文网 - 专业文章范例文档资料分享平台

C语言课后习题答案第八章(2)

来源:网络收集 时间:2018-12-02 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

printf(“\\nn=%d”,n); }

【1】 A)k*10 B)k C)k/10 D)k*10 【2】 A)a2*10 B)a2 C)a2/10 D)a2

7.以下程序的功能是用二分法求方程2x3?4x2?3x?6?0的根,并要求绝对误 main() { float m=-100,n=90,r; r=(m+n)/2; while(f(r)*f(n)!=0) { if(f(m)*f(r)>0) m=r; else n=r; if(fabs(f(r))<=0.001) break; r=(m+n)/2; } printf(“The is fangcheng jie is %6.3f\\n”,r); }

8.以下程序的功能是计算下面函数的值。请填空。

F(x,y,z)?sin(x)sin(y)sin(z)??sin(x?y)*sin(x?z)sin(y?z)*sin(y?x)sin(z?x)*sin(z?y)差不超过0.001。请填空。 #include float f(float x) {

return(2*x*x*x-4*x*x+3*x-6); }

#include #include

float f(float,float,float); main() {

float x,y,z,sum;

printf(“\\ninput x,y,z:\\n”); scanf(“%f %f %f”,&x,&y,&z);

sum=f(x,x-y,x-z)+f(y,y-z,y-x)+f(z,z-x,z-y); printf(“sum=%f\\n”,sum); }

float f(float a,float b,float c)

{ float value; value=sin(a)/(sin(b)*sin(c)); return(value); }

9.以下程序的运行结果是输出如下图形。请填空。 * * * * * * * * * * * * * * * * * * * * * * * * * #include void a(int i) { int j,k; for(j=0;j<=5-i;j++) printf(“”); for(k=0;k<2*i-1;k++) printf(“*”); printf(“\\n”); } main() { int i; for(i=0;i<3;i++) a(i); for(i=3;i>=0;i--) a(i); } }

10.以下程序的功能是用递归方法计算五位学生的年龄,请填空。 递归公式如下:

10(n?1)? age(n)??age(n?1)?2(n?1)?#include

age(int n) {

int c;

if(n==1) c=10; else c=age(n-1)+2; return(c); } main()

{

int n=5;

printf(“age:%d\\n”,age(5));}

(三)编程题(20分)

1.用函数编程打印以下图案。

(1) (2) (3) ****** * *

****** *** ***

****** ***** *****

******* ****** *******

**

Void f1(int n) { int i;

for(i=1;i<=n;i++) printf(“ “); }

Void f2(int n) { int i;

for(i=1;i<=n;i++) printf(“*“); }

(1)main() (2)main() (3)main() { { { int i; int i; int i;

f(i=1;i<=4;i++) f(i=1;i<=4;i++) f(i=1;i<=4;i++) { { {

f1(4-i); f2(2*i-1); f1(4-i); f2(6); printf(“\\n”); f2(2*i-1); printf(“\\n”); } printf(“\\n”); } }

getch(); getch(); getch(); } } }

2.以下函数p的功能是用递归方法计算x的n阶勒让德多项式的值。已有调用

语句p(n,x);请编写p函数。递归公式如下:

1(n?0)??Px(x)??x(n?1)

?((2n?1)*x*P(x)?(n?1)*P(x))/n(n?1)n?1n?2? float p(int n,int x)

{ } float p(int n,int x) {

if(n==0) return 1;

else if(n==1) return x;

else ((2*n-1)*x*p(n-1,x)-(n-1)*p(n-2,x))/n; }

3.以下程序的功能是用牛顿法求解方程f(x)=cosx-x=0。已有初始值x0=3.1415/4,要求

绝对误差不超过0.001,函数f用计算迭代公式中xn的值,请编写f函数。牛顿迭代公式是:

即:

xn?1xn?1?xn?f(xn)/f?(xn)

?xn?(cosxn?xn)/(sinxn?1)#include #include #define PI 3.1415 float f(float x0) { } main() { int t=0,k=100,n=0; float x0=PI/4,x1; while(n

float f(float x0) {

return x0-(cos(x0)-x0)/(sin(x0)-1); }

4.以下程序的功能是应用弦截法求方程x3?5x2?16x?80?0的根,其中f函数可根据

指定的x的值求出方程的值;函数xpoint可根据x1和x2求出f(x1)和f(x2)的连线与x 轴的交点;函数root用来求区间(x1,x2)的实根,请编写root函数。 #include float root(float x1,float x2) { } float f(float x) { ? } float xpoint(float x1,float x2) /* 略 */

{ ? } main() { float x1,x2,f1,f2,x; do{ printf(“input x1,x2:\\n”); scanf(“%f %f”,&x1,&x2); printf(“x1=%5.2f,x2=%5.2f\\n”,x1,x2); f1=f(x1); f2=f(x2); }while(f1*f2>=0); x=root(x1,x2); printf(“A root of equation is %8.4f”,x); }

#include

float root(float x1,float x2) {

float x; do {

x=x2-f(x2)*(x2-x1)/(f(x2)-f(x1)); if(f(x)*f(x2)>0) x1=x; else x2=x; }while(fabs(f(x))>1e-6); return x; }

float f(float x) {

return x*x*x-5*x*x+16*x-80; }

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言课后习题答案第八章(2)在线全文阅读。

C语言课后习题答案第八章(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/331684.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: