- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验3: C++语言程序结构、数组
说明:所有的程序和文档都建立在学生学号 —名字_第三次实验文件夹内, 最终以压缩文件
的形式提交到指定邮箱。
第一部分基础练习
.用牛顿迭代法求方程: 3x3+2x2-8x-5=0,在x=1.5附近的根。
要求:前后两次求出的 x的差的绝对值小于10-6,则为结果。
思路:
如图所示,设Xn为一个接近Xa的近似根,过(Xn, f(x n))点做切线,其切线方程为:
f(Xn
f(Xn)
-f(Xn)
Xn 1 一 Xn
式中只有Xn+1为未知量,将它放在等号的左边,即:
源代码:#in elude iostream#in elude cmath using n amespaee std; int mai n()
源代码:
#in elude iostream
#in elude cmath using n amespaee std; int mai n()
{
float x1,x0,f,f1;
x1=1.5;
do
{ xO=x1; f=3*x0*x0*x0+3*x0*x0-8*x0-5; f1=9*x0*x0+4*x0-8;
x1=x0-f/f1;
}while (fabs(x1-x0)1e-6); cout该方程的根为:x1e ndl; return 0;
}
截图:
H -D:\^18\labl.l\Debug\labl_l-exe
该方程的根为;1.50586 Press any key to continue
思考题及问题
① 更改初值,观察程序的运行结果。 当x仁0时,运算截图为
② 如果程序总是无法结束,又不是死循环,程序应该如何修改?
程序无法结束,可能因为迭代所求根总在不断地振荡, 无法得到精度内的结果, 可以适当
的降低精度,使振荡值落在精度范围内。
.编程序,输出以下图形
*********
② ***** ③ 1 ④ A
*******
*****
***
*
13
BBB
***
135
CCCCC
**
1357
DDDDDDD
*
13579
CCCCC
BBB
A
要求
应该使用双重循环。外循环体中包含两个并列的for
应该使用双重循环。外循环体中包含两个并列的
for循环语句,分别控制每行输出的空
格符和非空格字符(如:星号) 源程序:
;用cout n ;语句控制输出一行字符之后回车换行。
#i nclude iostream
using n amespace std;
int mai n ()
{ int i,j;
for(i=1;i=5;i++)
{ for(j=1;j=i;j++)
cout;
for(j=11-2*i;j0;j--) cout*;
cout\n;
}
cout\n;
for(i=1;i=5;i++)
{ for(j=1;j=i;j++)
cout;
for(j=6-i;j0;j--) cout*;
cout\n;
}
cout\n;
for(i=1;i=5;i++)
{ for(j=6-i;j0;j--) cout;
for(j=1;j=i;j++)
cout2*j-1;
cout\n;
}
cout\n; for(i=1;i=4;i++)
{ for(j=5-i;j0;j--)
cout;
for(j=1;j=2*i-1;j++) cout (char)(A+i-1); cout\n;
} for(i=1;i=3;i++)
{ for(j=1;j=i+1;j++)
cout;
for(j=7-2*i;j0;j--)
cout(char)(D-i); cout\n;
}
return 0;
}
截图:
*1 D 入探程\b bl_l\Debug\l ab 1_1, txe1
=|=^=^=^ jMcW ai ?l?n?
13
135 1357 135TO
EBB
OCCCC
DDDDDDD
CCCCC
BBB
思考题
① 如果输出10行的图形,应如何修改程序?
#in elude iostream
#i nclude ioma nip using n amespace std; int mai n()
{int i,j;
for(i=1;i= 10;i++)
{ for(j=1;j=i;j++)
cout;
for(j= 21-2*i;j0;j--) cout*;
cout\n;
}
cout\n;
for(i=1;i= 10;i++)
{ for(j=1;j=i;j++)
cout;
for(j= 11-i;j0;j--)
cout*;
cout\n;
}
cout\n;
for(i=1;i= 10;i++)
{ for(j= 11-i;j0;j--)
cout;
for(j=1;j=i;j++)
cout setw(2)2*
文档评论(0)