实验3-c++程序设计初步(共11页).doc

上传人:飞****2 文档编号:13894714 上传时间:2022-05-01 格式:DOC 页数:11 大小:34KB
返回 下载 相关 举报
实验3-c++程序设计初步(共11页).doc_第1页
第1页 / 共11页
实验3-c++程序设计初步(共11页).doc_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《实验3-c++程序设计初步(共11页).doc》由会员分享,可在线阅读,更多相关《实验3-c++程序设计初步(共11页).doc(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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;

2、coutx=x,y=2*x-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=

4、j;k+;if(i=sum)/判断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)/这里每

5、次循环前对sum进行重新赋值很重要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

6、/2(Xn+1/(Xn)要求前后两次求出的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

7、.5*(x0+a/x0);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你输入的不是一个符合要求的正数

8、,请重新输入a;x0=a/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,能保证

9、6位。double精度是252,能保证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

10、的平方根为setprecision(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=

11、3;i+)/输出第5到7行的图标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 ;for(j=1;j=2*i-1;j+)/第一部分的*cout*;coutendl;for(i=1;i=3;i+)/输出第二部分for(j=1;j=i;j+)/第二部分的空格cout ;for(j=1;j=7-2*i;j+)/第二部分的*cout*;coutendl;结果 * * * * * *Press any key to continue专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁