- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
完成下面实验内容,将程序清单或运行结果截图复制到实验文档中,以“学号+姓名+班级+实验2.doc”命名实验文档,将文档上传至课程中心。
实验目的
理解算法和结构化程序设计的基本概念
掌握if,switch分支语句的使用
掌握while语句,do…while语句,for语句的功能。
掌握用循环结构实现累加、累乘、穷举等常用算法。
掌握在循环结构程序中使用break语句和continue语句。
锻炼调试程序的能力。
二、实验内容和实验要求
按实验指导书P148至P154的要求,完成实验3的实验内容及自测练习;按实验指导书P155至P160的要求,完成实验4的实验内容及自测练习。
1. P148-练习题1
⑴ 已知三条边a、b、c
⑵ 要求
在C++中用标准函数sqrt计算平方根,此函数包含在math.h头文件中。
⑶ 思路
该程序用到了C++中的数学标准函数sqrt。要用编译预处理命令#include,把math头文件包含进来。用cin输入流控制将三条边长输入给a、b、c
⑷ 程序代码
#include iostream
using namespace std;
#include cmath
int main()
{
int a,b,c;
float s,area ;
cout 输入三个边长:;
cin a b c;
s =1.0/2*(a+b+c) ;
area = sqrt(s*(s-a)*(s-b)*(s-c)) ;
cout area = area endl;
return 0;
}
⑸运行结果截图:
思考题及问题:
① 将程序中的“s=1.0/2*(a+b+c;”语句改为“s=1/2*(a+b+c);”,再进行编译、链接、运行,看结果如何。
② 将程序中的“area=sqrt(s*(s-a)*(s-b)*(s-c));”语句改为“area=sqrt(s(s-a)(s-b)(s-c));”,再进行编译、链接、运行,看结果如何。
③分析题目中,若输入(3、6、10)运行时有什么样的缺陷?修改程序保证任意输入的a,b,c的3个值均能代表三角形的三条边,求三角形的面积。
④在③的基础上,若想求10个这样三角形的面积,怎么修改程序。
2. P150-练习题3
⑴ 编程序,计算下面分段函数的值。
2x+10 (x0)
y= 8x+5 (0≤x≤10)
4x-10 (x10)
⑵ 要求
① 用键盘输入x的值。
② 运行程序时,分别按x的值小于0、x的值在0到10之间、x的值大于10三种情况输入数据,检查输出的y值是否正确。
⑶ 思路
该程序根据输入数据x的值不同,计算不同的函数表达式,并输出计算结果,显然需要采用分支结构实现,由于此分段函数只有3种情况,故可以采用if~else if~else多分支语句实现。如果情况比较多,如5种以上的情况,建议采用switch语句实现。
⑷ 程序代码
#include iostream
using namespace std;
int main()
{
int x,y;
cout 输入x的值:;
cin x ;
if(x0)
y=x+10;
else if(x=10)
y=8*x+5;
else
y=4*x-10;
cout x= x , y= y endl;
return 0;
}
⑸运行结果截图:
思考题及问题:
判断x的值在0~10之间可否使用表达式“0=x=10”?为什么?正确的表示方法是什么?
3. P150-练习题4
⑴ 输入并运行以下程序,分析程序的运行结果。
#include iostream
using namespace std;
int main()
{
float x,y;
x=2.2;
y=x/2.0;
y=y*2.0;
if (y==2.2)
cout x==y endl;
if (x=y)
cout 这是一个逻辑错误! endl;
return 0;
}
⑵运行结果截图:
思考题及问题:
① 为什么该程序的运行结果是输出“这是一个逻辑错误!”?
② 将“if (y==2.2)”改为“if (fabs(y-2.2)1e-6)”,然后运行程序,查看结果,结果如下:
③ 该程序中的“if(x=y)”到底要表达何意?请改成正确的形式。修改后的程序代码及运行结果如下:
4. P153-练习题6
运行结果截图:
思考题及问题:
① 本程序所给代码
您可能关注的文档
- 十天学会单片机完整分析.ppt
- 数据库课程设计仓库管理系统分析.doc
- 数据库课程设计飞机订票系统分析.doc
- 十有机酸分析.ppt
- 数据库课程设计货物整理系统分析.doc
- 十字路口带倒计时显示的交通信号灯控制的课程设计分析.doc
- 十字路口交通灯的单片机课程设计分析.doc
- 数据库课程设计教职工管理系统分析.doc
- 十字路口交通灯课程设计分析.doc
- 数据库课程设计教职工签到系统分析.doc
- 金融产品2024年投资策略报告:积极适应市场风格,行为金融+机器学习新发现.pdf
- 交运物流2024年度投资策略:转型十字路,峰回路又转(2023120317).pdf
- 建材行业2024年投资策略报告:板块持续磨底,重点关注需求侧复苏.pdf
- 宏观2024年投资策略报告:复苏之路.pdf
- 光储氢2024年投资策略报告:复苏在春季,需求的非线性增长曙光初现.pdf
- 公用环保2024年投资策略报告:电改持续推进,火电盈利稳定性有望进一步提升.pdf
- 房地产2024年投资策略报告:聚焦三大工程,静待需求修复.pdf
- 保险2024年投资策略报告:资产负债匹配穿越利率周期.pdf
- 政策研究2024年宏观政策与经济形势展望:共识与分歧.pdf
- 有色金属行业2024年投资策略报告:新旧需求共振&工业原料受限,构筑有色大海星辰.pdf
文档评论(0)