




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、中 南 大 学实 验 报 告课程名称 c+程序设计 实验项目名称 实验4 实验5 实验6 指导老师 向瑶 实验学生班级 电子信息工程1503 实验学生姓名 陶韬 学号 实验时间 2016.4.1至4.10 实验地点 校本部科技楼4楼实验成绩评定 实验三 c+程序设计初步班级:电信1503 姓名:陶韬实验3.1题目:有一函数 X(X1)Y= 2X-1(1=x=10)编程 输入x,求 y代码#includeusing namespace std;main()int x,y;coutx;if(x1)y=x;coutx=x,y=x=y;else if(x10)y=2*x-1;coutx=x,y=2*x
2、-1=y;elsey=3*x-11;coutx=x,y=3*x-11=y;coutendl;return 0;运行结果enter x:-1x=-1,y=x=-1enter x:4X=4,y=2*x-1=7enter x:20x=20,y=3*x-11=49实验3.2题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6的因子为1,2,3,而6=1+2+3,因此6 是“完数”。编程找出1000之内的所有完数,并按照下面格式输出其因子6,its factors are 1,2,3;我的分析思路首先算法应该分为2大部分第一部分把输入的数的所有因子找出来 可以定义一个整型数组来存放因子第二
3、部分 判断这个数的所有因子之和和这个数是否相等 相当就输出 不等就继续循环代码方法一:#includeusing namespace std;main()int i=1,j=1,sum=0; /定义变量 i是表示1到1000的数/ j是因子,sum是因子的和int k=0,m=0,factor1000;/ facetor是存放因子数值的数组 k表示数组的下标 for(i=1;i=1000;i+,sum=0,k=0)/通过循环找出i的所有因子 然后求和/ 注意每次循环前sum 和k的值一定要重置for(j=1;ji;j+)if(i%j=0)sum+=j;factork=j;k+;if(i=sum
4、)/判断i是否等于sum 如果是就输出结果否则继续外圈循环(i循环)couti, its factors are ;for(m=0;m=k-1;m+)coutfactorm,;coutendl;输出结果6, its factors are 1,2,3,28, its factors are 1,2,4,7,14,496, its factors are 1,2,4,8,16,31,62,124,248,方法二:#includeusing namespace std;main()int i=0,j=0,sum=0;for(i=2;i=1000;i+,sum=0)/这里每次循环前对sum进行重新赋
5、值很重要for(j=1;ji;j+)/循环找出i的因子并求和if(i%j=0)sum+=j;if(sum=i)/如果满足条件就通过循环结构输出因子的值couti, its factors are ;for(j=1;ji;j+)if(i%j=0)coutj;coutendl;return 0;输出结果6, its factors are 1,2,3,28, its factors are 1,2,4,7,14,496, its factors are 1,2,4,8,16,31,62,124,248,实验3.3.1题目:用迭代法求x=a 求平方根的迭代公式为Xn+1=1/2(Xn+1/(Xn)要
6、求前后两次求出的x的差的绝对值小于1e-5,在运行时输入不同的数值赋给变量a,分析所得结果是否正确。如果输入的值为一个负数,在运行时会出现什么情况?修改程序使之能处理任何的a值前后两次求出的x的差的绝对值能否该为小于1e-10或者更小?为什么?请试一下。分析:求平方根的算法为设定一个x的初值x0用上述公式求出x的下一个值x1再将x1带入上述公式右侧,求出x的下一个值x2如此继续下去,直到前后2次求出x的值代码1#include#includeusing namespace std;main()float x0,x1,a;cout请输入一个正数a;x0=a/2;x1=0.5*(x0+a/x0);
7、for(;fabs(x1-x0)1e-5;)x0=x1;x1=0.5*(x0+a/x0);couta的平方根为x1endl;输出结果请输入一个正数2a的平方根为1.41422Press any key to continue实验3.3.2 如果输入一个负值 会一直循环下去 也就是形成死循环解决方法 在a的输入语句后面加一个判断语句判断所给的a是否是正值如果不是就需要再输入代码#include#includeusing namespace std;main()float x0,x1,a;cout请输入一个正数a;for(;a0;)cout你输入的不是一个符合要求的正数 ,请重新输入a;x0=a/
8、2;x1=0.5*(x0+a/x0);for(;fabs(x1-x0)1e-5;)x0=x1;x1=0.5*(x0+a/x0);couta的平方根为x1endl;输出结果请输入一个正数-1你输入的不是一个符合要求的正数 ,请重新输入2a的平方根为1.41421Press any key to continue实验3.3.3前后2次x的差的绝对值能否改为小于1e-10或者更小?为什么?请试一下可以修改,但是实际作用和1e-5等效,因为float类型的有效数字只有6位 显然后面位数无法进行精确比较,为了满足题设应该把变量定义为double类型float精度是223,能保证6位。double精度是2
9、52,能保证15位。但是默认float和double都只能显示6位,再多需要#include ,然后在输出语句之前插入cout setprecision(20);强制输出小数位。代码#include#include#includeusing namespace std;main()long double x0,x1,a;cout请输入一个正数a;for(;a=0;)cout你输入的不是一个符合要求的正数 ,请重新输入a;x0=a/2;x1=0.5*(x0+a/x0);for(;fabs(x1-x0)1e-10;)x0=x1;x1=0.5*(x0+a/x0);couta的平方根为setpreci
10、sion(20)x1endl;输出结果请输入一个正数2a的平方根为1.30949Press any key to continue实验3.4要求输入以下图案*分析:分成2部分解决 第一部分输出第1到4行 每一行*的个数为2*n-1第二部分输出第4到7行,相当于重新输入1到3行每一行*的个数为7-(2*n)代码#include#include#includeusing namespace std;main()int i=1,j=1;for(i=1;i=4;i+)/输出第1到4行的图标for(j=1;j=2*i-1;j+)cout*;coutendl;for(i=1;i=3;i+)/输出第5到7行
11、的图标for(j=1;j=7-2*i;j+)cout*;coutendl;return 0;输出结果*Press any key to continue实验3.4.2在运行得到正确结果后,请修改程序,以输出以下的图案 * * * * * *分析还是分成2个小部分来解决 第一部分输出上半部分 第二部分输出下半部分行数空格数*空格与行数的关系*与行数的关系1314-i2*i-1223315407代码#include#include#includeusing namespace std;main()int i=1,j=1;for(i=1;i=4;i+)/输出第一部分for(j=1;j=4-i;j+)/第一部分的空格cout
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人工智能视角下的认知科学研究
- 智慧林业推动林业新质生产力的内在机制与发展路径研究
- 公平原则下个人信息同意机制的法律经济学分析
- 劳动力市场扭曲的成因机制及其影响效应研究与对策探讨
- 高中物理案例教学科学思维培养
- 桥头饭堂管理办法细则
- 幼儿园卫生保健人才队伍建设与培训体系
- 大气光学湍流廓线的探测与预测技术研究
- 昭通盆景栽培管理办法
- 国家安全学习体会
- GB/T 307.4-2017滚动轴承推力轴承 产品几何技术规范(GPS)和公差值
- GB 29415-2013耐火电缆槽盒
- 《密码法》培训只是讲座PPT课件(带内容)
- 建筑工程文件归档管理明细表
- 如何解读血常规报告
- 区域消防安全风险评估规程DB50-T 1114-2021
- 免疫调节治疗在脑卒中的运用课件
- 机关档案管理工作培训PPT课件
- 25T汽车吊检验报告
- 变频空调中的永磁电机电感分析
- 高考常考语法填空词性转换汇总
评论
0/150
提交评论