ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:122.95KB ,
资源ID:11536890      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11536890.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c++实验3 程序结构与数组.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c++实验3 程序结构与数组.docx

1、c+实验3 程序结构与数组实验3:C+语言程序结构、数组说明:所有的程序和文档都建立在学生学号_名字_第三次实验文件夹内,最终以压缩文件的形式提交到指定邮箱。第一部分 基础练习 1用牛顿迭代法求方程:3x3+2x2-8x-5=0,在x=1.5附近的根。要求:前后两次求出的x的差的绝对值小于10-6 ,则为结果。思路:如图所示,设xn为一个接近xa的近似根,过(xn, f(xn) 点做切线,其切线方程为:式中只有xn+1为未知量,将它放在等号的左边,即:上式就为牛顿迭代公式。 源代码:#include #include using namespace std;int main() float x

2、1,x0,f,f1; x1=1.5; do x0=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该方程的根为:x1endl; return 0;截图: 思考题及问题1更改初值,观察程序的运行结果。当x1=0时,运算截图为 如果程序总是无法结束,又不是死循环,程序应该如何修改?程序无法结束,可能因为迭代所求根总在不断地振荡,无法得到精度内的结果,可以适当的降低精度,使振荡值落在精度范围内。2编程序,输出以下图形 * * * * * * * * *1 13 1

3、35 135713579ABBBCCCCCDDDDDDD CCCCC BBB A要求应该使用双重循环。外循环体中包含两个并列的for循环语句,分别控制每行输出的空格符和非空格字符(如:星号);用cout “n”; 语句控制输出一行字符之后回车换行。源程序:#include using namespace std;int main () int i,j; for(i=1;i=5;i+) for(j=1;j=i;j+) cout0;j-) cout*; coutn; coutn; for(i=1;i=5;i+) for(j=1;j=i;j+) cout0;j-) cout*; coutn; cou

4、tn; for(i=1;i0;j-) cout ; for(j=1;j=i;j+) cout2*j-1; coutn; coutn; for(i=1;i0;j-) cout ; for(j=1;j=2*i-1;j+) cout (char)(A+i-1); coutn; for(i=1;i=3;i+) for(j=1;j=i+1;j+) cout0;j-) cout(char)(D-i); coutn; return 0;截图:思考题1如果输出10行的图形,应如何修改程序?#include #include using namespace std;int main()int i,j; for(

5、i=1;i=10;i+) for(j=1;j=i;j+) cout0;j-) cout*; coutn; coutn; for(i=1;i=10;i+) for(j=1;j=i;j+) cout0;j-) cout*; coutn; coutn; for(i=1;i0;j-) cout ; for(j=1;j=i;j+) coutsetw(2)2*j-1; coutn; coutn; for(i=1;i0;j-) cout ; for(j=1;j=2*i-1;j+) cout (char)(A+i-1); coutn; for(i=1;i=9;i+) for(j=1;j=i+1;j+) cou

6、t0;j-) cout(char)(J-i); coutn; return 0; 如果输出图形向右平移25个字符位置,程序应该如何修改?源程序:#include using namespace std;int main () int i,j; for(i=1;i=5;i+) for(j=1;j=i+25;j+) cout0;j-) cout*; coutn; coutn; for(i=1;i=5;i+) for(j=1;j=i+25;j+) cout0;j-) cout*; coutn; coutn; for(i=1;i0;j-) cout ; for(j=1;j=i;j+) cout2*j-

7、1; coutn; coutn; for(i=1;i0;j-) cout ; for(j=1;j=2*i-1;j+) cout (char)(A+i-1); coutn; for(i=1;i=3;i+) for(j=1;j=i+26;j+) cout0;j-) cout(char)(D-i); coutn; return 0;截图:3若干个数据首尾相连,构成一个圆环,找到连续的4个数之和最大的一段。要求:从键盘输入数据,当输入-1时结束输入,输出其中连续的4个数之和最大的一段的起始数据的位置及这4个数的和。源程序:#include using namespace std;int main ()

8、 int i,j,m,n=0,max=0,sum=0; int a20; couti; while(i!=-1) an=i; n+; cini; for(j=0;jmax) max=sum; m=j; cout输出圆环数据:; for(j=0;jn;j+) coutaj ; coutn从第m+1个数据开始的连续四个数据和最大,为:maxendl; return 0;截图:第二部分 自测练习1. 猜数游戏编程先由计算机“想”一个1100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,最

9、多可以猜10次,如果猜了10次仍未猜中的话,结束游戏并输出该数。思路-函数说明:int rand();:返回从0,MAX)之间的随机整数,这里的与你所定义的数据类型而定;需#include void srand( unsigned seed );:设置随机数种子,#include time_t time( time_t *time );:返回当前时间,#include 应用举例:srand(time(0); /根据系统时间设置随机数种子int i = rand() % N; /取得区间0,N)的整数如要产生之间随机数,则代码如下:#include using namespace std;#in

10、clude #include int main() int t; srand(time(0); /seed t = rand() % 10+ 1; / random number 1-10 cout t =10) printf(Sorry, game over!n); break; if(guess=num) printf(You are right, guess %d times.n,i); break; else if(guessnum) printf(Guess too big, try again:); else printf(Guess too small, try again:);

11、 截图:2排序编程实现将10个整数升序排列。要求:冒泡法排序。冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个

12、数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序源程序:#include using namespace std;int main () int i,j,t,a10,k; cout 输入10个整数:; for(i=0;iai; for(i=0;i10;i+) for(j=i+1;jaj) swap(ai,aj); cout输出升序排列的结果:; for(i=0;i10;i+) coutai ; coutendl; return 0;截图: 3. 检验并打印魔方矩阵在下面的55阶魔方矩阵中,每一行、每一列、每一对角线上的元素之和都是相等的,试编写程序将这些魔方矩阵中的元素读到一个二

13、维整型数组中,然后检验其是否为魔方矩阵,并将其按如下格式显示到屏幕上。17241815235714164613202210121921311182529源程序:#includeusing namespace std;int main() int a55,i,j,k,x,z=0; for(i=0;i5;i+) for(j=0;jaij; int p=0,s=0,q=0; for(k=0,x=0;k5,x5;k+,x+) s+=a0k; q+=ax0; p+=akx; if(s=q&q=p) int y=s; for(i=1,j=1;i5,j5;i+,j+) int h=0,d=0,f=0; for(k=0,x=0;k5,x5;k+,x+) h+=aik; d+=axj; f+=akx; if(y!=h&y!=d&y!=f) z+; if(z=0) cout是endl; for(i=0;i5;i+) for(j=0;j5;j+) coutaij ; coutendl; else cout否endl; else cout否endl; return 0;截图:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1