




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+程序设计报告4.O请观察其规律,求题目:有数列 1/1+2/1+3/2+5/3+8/5+13/8+21/13+出该数列的前n项之和,结果要求保存四位小数。O请观察其规律,求算法分析An=ai/bibn=an-lan=an-l+bnTSn-Sn-l+An程序:程序要有详尽注释,如:各参数的含义、函数的功能等#include#includeusing namespace std;int mainO(int a=2, b=l;int n, t;double s=l;定义变量,数列和的初始值为1,即n=L s=lcout”求前n项的和:”;cinn;for (int i=l;i=n-l;i+)(S
2、=s+a/b ; /Sn=Sn-l+Ant=a; a=a+b; b=t; 求 An 循环nT次,求和coutsetw(5) fixedsetprecision(4);设输出结果域宽为5个字符,保存4位小数coutsendl;return 0;运行结果二目xcT *1:c+程序设计4Debug4. exe求前n项的和:二目x16.0000Press any key to continue调试过程中出现过的问题和解决的方法首先找出数列各项的规律,然后按步骤编写程序,这道题没有遇到难以解决的问题。5.题目:采用二分法求解方程f(x)=x3-x-l=0在区间1.0, 1.5内的一个实根。 要求精确到小
3、数点后的第2位。二分法的基本思想,就是将方程根所在的区间平 分为两个小区间,再判断根属于哪个小区间;把有根的小区间再平分为二,再判 断根所在的更小的区间,对分;重复这一过程,最后求出所要的近似值。算法分析二分法的基本思路是:任意两个点a和b,判断区间(a, b)内有无一个实根,如果f_a 与f_c符号相反,那么说明有一实根。接着取(a,b)的中点c,检查f_c和f_b是否同号,如 果不同号,说明实根在(c,b)之间,如果同号,在比拟(a, c),这样就将范围缩小一半,然 后按上述方法不断的递归调用,直到区间相当小(找出根为止)。(3)程序:程序要有详尽注释,如:各参数的含义、函数的功能等#in
4、clude#includeusing namespace std;double d(double);void mainO(double a=l. 0, b=l. 5, c;double f_a, f_b, f_c;f_a=d(a);f_b=d(b);doc= (a+b) /2; 求 a, b 的中点f_c=d (c);if (f_a*f_c0.01| |f_c-0.01);coutf (x) =x*x*x-x-1=0 end 1;coutz*x=zsetiosflags (ios:fixed) setprecision(2) cendl; / setprecision(2)与setiosfla
5、gs(ios:fixed)合用,可以控制小数点右边的数字个数 为2,即保存两位小数)double d (double x)double f;f=x*x*x-x-l;return f;运行结果oxox:序设计5Debug5. exeF=x*x*x-x1=0 x=1.32Press any key to connue调试过程中出现过的问题和解决的方法第一次调试程序后,显示结果为x=L 324718,没有保存两位小数,经过检查,确定输出语句 cout,zx=,setiosflags (ios: fixed) setprecision(2) cendl;是正确的,但是不知道为什么没起作用。后来和同学讨
6、论后,发现前面没加#includeioinanip,因此 结果只能输出C+默认的输出流有效位数。三、收获与体会程序,最主要的是实践。通过这一次集中的强化训练,我不仅锻炼了自己的 结构化程序设计思想,更提高了逻辑思维能力,理解了如何用C+语言来表达 面向对象”,使自己的程序设计能力上一台阶,同时使自己的各种综合能力得到 提高。经过一学期的学习以及两周的程序设计实践,我学习C+最大的感触是,首 先要认真对待每个字符,每个命令,因为极其小的一个失误导致的可能是整个程 序的崩溃,细心是首要的任务,然后就是毅力,编写一个程序不仅是技术活,而 是体力活,最重要的是要有毅力坚持到完。遇到不会的难点时,意志不
7、坚强就难 免半途而废。而且C+的逻辑性很强,它的语言是英语,且是用数学语言来完成 的,所以学习C+需要很强的数学逻辑能力,在这一方面,我觉得自己还有很大 的进步空间,在以后的学习中应该多下工夫,从小的程序开始多做练习,调试, 逐渐强化逻辑能力,掌握重要的知识点。一、 刖5我认为安排此次课程设计的目的,是让同学们在独立完成设计、编写、调试 应用程序及编写文档的任务的过程中,及时巩固已学的知识,补充未学但是非常 重要的知识,提高程序设计的能力。针对C+语言中的重点和难点内容,如数组 和函数等,进行训练,并且能充分发挥独立自主学习的能力,对于在程序设计和 调试中遇到的问题,应积极和同学交流,相互学习
8、,共同进步二、正文1.题目:任意输入一个正整数,要求:(1)求它是几位数;(2)按逆序输出各 位数字;(3)求奇数位数字之和。算法分析别离出每一末位数字,然后输出;判断是否为奇数位,将奇数位数字相加求和;利用循环结构进行编程,每位数字逐一进行别离、判断。(3)程序:程序要有详尽注释,如:各参数的含义、函数的功能等#includeusing namespace std;void main()int n, m, s=0, i=0; 定义变量cout0);循环一次,计算一次,共循环i次cout共有i位数字 endl;cout”奇数位之和是:sendl;(4)运行结果:c+程序设计 1 Debug 1
9、 . exe情输入一个正整数n562789987265共有6位数字奇数位之和是:22Press any key to continue二调试过程中出现过的问题和解决的方法题目:输入阶数n (IWnWIO),输出对应的n阶旋转矩阵。所谓旋转矩阵, 就是在n阶矩阵中,起始数1置于方阵的左上角,然后从起始数开始依次递增, 按顺时针方向从外向里旋转填数而成。如:输入n=5,输出: TOC o 1-5 h z 1234514232221813121110 9算法分析(3)程序:程序要有详尽注释,如:各参数的含义、函数的功能等#include#includeusing namespace std;void
10、 mainO(int n=0, m=l, 1, r, u, d, i=l, j=l, a10 10;定义变量和一个二维数组 cout/zinput the n:;cinn;l=l;r=n;u=l;d=n;while(l二r&u=d)循环一次 输出一圈for (i=l; i=r; i+) 从左到右对数组赋值aj i=m+;u+=l;i-=l;for (j=u; j=l;i) 从右到左的aj i=m+;d-=l;i+=l;for (j=d; j=u; j) /从下到上的aj i=m+;1+=1;j+=l;)for(i=l;i=n;i+) 输出数组(for(j=l;j=n;j+)coutsetw(3
11、)ai j;cout, n ;)(4)运行结果武工:。+程序设计2Debug2. exe TOC o 1-5 h z input the n:6 1234520212223241932333425183136352617 30 29 28 27 1016 15 14 13 12 11Press anyPress anyPress anykey to continuePress anykey to continue调试过程中出现过的问题和解决的方法题目:将一个5X5矩阵中的最小元素放在中心,四个角分别放四个最大的元 素(从左到右、从上到下的顺序为从大到小存放),要求:(1)输出变换后的矩 阵;(
12、2)任意输入一个数,如果该数在矩阵中,确定该数的位置。算法分析(3)程序:程序要有详尽注释,如:各参数的含义、函数的功能等ttinclude #include using namespace std;void myswap(int &a, int &b)(int x;x=a; a=b; b=x;)const int maxint=1992;void main()(intmat 5 5, max 4 = -l*maxint, -l*maxint, -l*maxint, -l*maxint, maxi 4, maxj4;int i, j, k, n, min=maxint, mini, minj;
13、 定义变量和一个二维数组.cout请输入5X5矩阵:n”;for (i=0;i5;i+)(for (j=0;jmati j)min=matij; mini=i; minj=j;)int o, oi, oj;o=matij; oi=i; oj=j;for (k=0;kmaxk)(myswap (o, max k) ; my swap (oi, maxi k) ; my swap (o j, max j k)myswap (mat 2 2, mat mini minj);myswap(mat00, matmaxi0maxj0);myswap(mat40, mat Emaxi1maxj1);myswap(mat04, mat Emaxi2Emaxj2);myswap(mat44, mat Emaxi31Emaxj3);coutn调整后的数组为:n”;for (i=0;i5;i+)(for (j=0; j5; j+) coutsetw(4)mati j;coutn;coutn请输入要查找的元素:;cinn;coutn目标元素的位置是:n”;for (i=0;i5;i+)for (j=0;j5;j+)if (matij=n) cou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 统编版语文五年级下册第8课《红楼春趣》精美课件
- 江苏南京师范大附属中学2024-2025学年中考模拟试卷(4)物理试题含解析
- 兰州大学《自动化专业导论与研讨》2023-2024学年第一学期期末试卷
- 山西省运城市盐湖区达标名校2025年学业水平考试英语试题模拟仿真卷(4)含答案
- 外交学院《商业广告学》2023-2024学年第二学期期末试卷
- 山东省临朐市重点达标名校2025届普通高中初三线上统一测试化学试题理试题含解析
- 徐州医科大学《生物技术与可持续发展》2023-2024学年第二学期期末试卷
- 吉林省长春市东北师范大附属中学2025年初三下学期开学回头考数学试题含解析
- 乐山职业技术学院《柏拉图》2023-2024学年第一学期期末试卷
- 同济大学《Python数据分析》2023-2024学年第一学期期末试卷
- 新产品试产管理程序
- 锚索抗滑桩毕业设计(湖南工程学院)
- 各国关于数据与个人隐私的法律规定
- 人教版(PEP)五年级英语下册(U1-U4)单元专题训练(含答案)
- 维生素K2行业研究、市场现状及未来发展趋势(2020-2026)
- 定远县蔡桥水库在建工程实施方案
- 绘本故事《三只小猪盖房子》课件
- GB 13296-2013 锅炉、热交换器用不锈钢无缝钢管(高清版)
- 部编版八年级语文下册写作《学写读后感》精美课件
- LED显示屏项目立项报告(模板参考)
- 发烧的地球ppt课件
评论
0/150
提交评论