c++实验报告格式苏大教材2010
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C++程序设计语言》课程标准实验报告
江苏科技大学
计算机科学与工程学院基础教学部
实验一 简单程序设计
一、实验目的
(1)熟练地使用VC++的编程环境。
(2)初步了解VC++程序的编译、连接和运行的过程。 (3)掌握和理解VC++程序的结构。 (4)熟悉VC++程序数据的输入、输出。 (5)掌握C++变量的概念及应用。 (6)掌握C++表达式的使用。 二、实验内容
1.编程在屏幕上以左对齐的方式分行显示自己的姓名、学号、通讯地址等信息。
2.已知球台的体积计算公式为V=])(3[6
12
2221h r r h ++π,其中h 为球台的高,r1,r2分别为球台的上下底半径。试编程求某球台的体积。要求球台的上下底半径及高均为键盘输入的整数,程序应分行输出球台的各项参数及体积。 三、实验过程
1.编写源程序prog1.cpp ,内容如下: 编译运行程序,结果如下:
2.编写源程序prog2.cpp ,内容如下:
编译并运行,结果如下:
四、实验小结
(主要写一些实验中出现的问题,应注意的事项,以及实验体会)
实验二、三 C++的流程控制语句
一、实验目的
(1)掌握关系表达式和逻辑表达式的使用。 (2)熟悉选择结构和循环结构程序设计。 (3)掌握break 和continue 语句的使用。 (4)练习调试与修改程序。 二、实验内容
1.输入一个年份year ,计算这一年2月份的天数days ,然后输出days 。 (1)所有变量定义为整型。 (2)输入前要加提示语句。
(3)输出结果前要有必要的文字说明。
2.编写程序,输入三角形三边a,b,c ,判断a,b,c 能否构成三角形,若不能则输出相应信息,若能,则判断构成的是等腰、等边、直角还是一般三角形。 (1)输入一组数3,4,8,观察程序运行结果。 (2)另外再输入几组数据进行测试:
3,4,5 3,3,3 3,3,5
3.为了方便程序的使用,在数据输入时可用简单的数字代替一定的文字信息,然后在程序中再作相应的转换。如用数字1~7表示星期一~星期日。试编程用开关语句实现上述功能。要求程序输入1~7以外的数字时提示输入错误。
4.设计一个程序,按以下公式求出数列的前20项并输出。计算公式为:
⎪⎪⎩⎪⎪⎨⎧++=---3
21210n n n y y y y
5.设计一个程序,输入一个四位数(整数),将各位数字分开,并按其反序输出。例如:输入1234,则输出4321。要求必须用循环语句实现。
6.用二分法求方程x 2-x-2=0在[0,3]间的解,要求精度不超过10-5。
算法提示:先取二元方程f(x)的两个初略解x1和x2,若f(x 1)与f(x 2)的符号相反,则方程f(x)=0在[x 1,x 2]区间至少有一个根;若f(x)在[x 1,x 2]区间单调,则至少有一个实根;所以取x 3=(x 1+x 2)/2,并在x 1和x 2中舍去和f(x 3)同号者,那么解就在x 3和另外那个没有舍去的初略解组成的区间里;如此反复取舍,直到x n 与x n-1之差满足要求时,那么x n 便是方程f(x)的近似根。
三、实验过程
2.编写源程序*,内容如下:
编译并运行,结果如下:
n=0 n=1 n=2 n>2
3.编写源程序*,内容如下:
编译并运行,结果如下:
四、实验小结
(主要写一些实验中出现的问题,应注意的事项,以及实验体会)
实验四、五 函数和编译预处理
一、实验目的
(1)掌握函数的定义和调用的方法。 (2)学会使用递归方法进行程序设计。 二、实验内容
1.设计一个程序,计算组合数C(m,r)=m!/(r!×(m-r)!),其中m 、r 为正整数,且m>r 。分别求出C(4,2) 、C(4,6)、C(8,7)的组合数。求阶乘和组合数须用函数来完成。
2.用递归方法编写程序,求n 阶勒让德多项式的值,递归公式为
⎪⎩
⎪
⎨⎧>⨯--⨯⨯-===--1
/))()1()()12((101)(21n n
x p n x p x n n x
n x p n n n
3. 编写一个函数,判断两个自然数是否是自然数对。自然数对是指两个自然数的和与差都是平方数。例
如:17-8=9,17+8=25,那么,17与8就是自然数对。用主函数调用该函数。
4. 编写一个函数用牛顿迭代法求根,方程ax 3+bx 2+cx+d=0,系数a 、b 、c 、d 由主函数输入。求x 在1附近的一个实根,求出根后由主函数输出。 算法提示:
设x k 是f(x)=0的一个近似根。把f(x)在x k 处作一阶泰勒展开,则 0))(()()('=-+≈k k k x x x f x f x f 则)()
('
k k k x f x f x x -
= 取x 作为原方程的新的近似根x k+1,则)
,2,1,0()
()
('1 =-=+k x f x f x x k k
k k
三、实验步骤
1.
编译并运行,结果如下:
四、实验小结
(主要写一些实验中出现的问题,应注意的事项,以及实验体会)
实验六、七 数组
一、实验目的
(1)使用一维数组和二维数组进行程序设计 (2)练习并掌握数组作为函数参数的方法。 (3)至少掌握一种排序方法。 二、实验内容
1.从键盘上输入10个数,然后计算这10个数的均方差。均方差的计算公式为
∑∑-=-==-=10
10
_
2
_
/)()(n i i n i i n x x x x D ,其中
2.设某矩阵中各元素互不相同,设计一个函数将二维数组中的最大元素与左上角元素交换,最小元素与右下角元素交换。
3.通过指针变量将字符串逆序。如“abc321” 逆序后变为“123cba ”。
4. 将一个字符串中指定位置起的n 个字符置换为另一字符串中的字符(不含字符串结束标志)。
三、实验过程
1.
编译并运行,结果如下:
3.
编译并运行,结果如下:
四、实验小结
(主要写一些实验中出现的问题,应注意的事项,以及实验体会)