C++实验报告4.docx
- 文档编号:11156137
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:11
- 大小:236.08KB
C++实验报告4.docx
《C++实验报告4.docx》由会员分享,可在线阅读,更多相关《C++实验报告4.docx(11页珍藏版)》请在冰豆网上搜索。
C++实验报告4
C++程序设计实验报告
一、实验题目:
实验四函数与预处理
二、实验环境:
硬件:
系统windownsxp;CPU:
Pentium(R)4cpu2.40GHz
内存:
512MB;硬盘:
38.2G
软件:
MicrosoftVisualC++6.0
三、实验目的
(1)熟悉定义函数的方法,函数实参与形参的对应关系以及“值传递”的方式。
(2)熟悉函数的嵌套调用和递归调用的方法。
(3)熟悉全局变量、局部变量概念和使用方法。
(4)熟悉编译预处理的应用。
(5)掌握多文件的程序的编译和运行方法。
四、实验内容
事先编好程序,上机调试运行之。
(1)写一个判别素数的函数,在主函数输入一个整数,输出是否为素数的信息。
本程序应当准备一下测试数据:
17、34、2、1、0。
分别运行并检查结果是否正确。
(2)写一个函数验证哥德巴赫猜想,一个不小于6的偶数可以表示为2个素数之和,如:
6=3+3,8=3+5,10=3+7……在主函数中输入一个不小于6的偶数n,然后调用函数gotbaha,在gotbaha函数中再调用prime函数,prime函数的作用是判别一个数是否为素数。
在gotbaha函数中输出一下形式结果:
34=3+31
运行时输入该偶数的值为6、12、20、458,分析运行结果。
如果输入2、4会出现什么情况?
修改程序,使之能输出相应信息。
(3)解Hanoi(汉偌)塔问题。
古代有一个梵塔,塔内有3个座A、B、C,开始时A座上有64个盘子,盘子大小不等,大的在下,小的在上,有一个老和尚想把这64个盘子从A座移到C座,但每次只允许移动一个盘,且在移的过程中3个座上都始终保持大的在下小的在上。
在移到过程中可以利用B座,要求编程序打印出移到=动的步骤。
在运行时分别指定盘子数为3、5、7.并统计在不同盘子数情况下,移动盘子多少次。
试运行一下如果盘子数为16,在你所用的计算机上要运行多少时间。
设想一下如果盘子数为64,会出现什么情况。
(4)输入一个字母字符,设置条件编译,使之能根据需要将小写字母改写为大写字母输出,或将大写字母改写为小写字母输出。
(5)求a×b和am的值,其中b的值在程序中给出,a和m值由键盘输入,卸一个power函数求am的值,在主函数中求a×b,并调用power函数得到am的值。
要求将主函数和power函数分别写成两个文件file1.cpp和file2.cpp,用extern将外部变量作用域扩展到其他文件。
建立一个项目文件,包含file1.cpp和file2.cpp,按照本书第2部分中介绍的对包含多文件的程序的处理办法,对包含多文件的程序进行编译、连接和运行。
通过这个简单的程序,初步掌握处理包含多文件程序的方法。
五、实验步骤与结果
(1)输入以下程序:
运行结果:
(2)输入以下程序:
运行结果:
经过修改后的程序:
运行结果:
(3)输入以下程序:
运行结果:
若输入16,运行了将近15秒。
设想如果是64,将会运行几十分钟左右。
(4)输入以下程序:
运行结果:
(5)输入以下程序一:
程序一:
程序二:
运行结果:
六、实验感想
(1)
(1)程序输入后运行总是出现以下错误:
注意找出错误的原因。
并改正后运行。
(2)比较实验
(2)中的修改前后的程序,修改后的程序功能更加全面。
(3)实验(3)中盘子数目越多,运行次数越多,运行时间也就越久。
(4)实验(4)英文字母大小写的转换中程序如下:
需要注意else的运用。
(6)实验(5)上机运行时,建立一个项目文件,把这两个文件添加到项目文件中,然后对该项目文件进行编译和运行。
注意程序二中的开头有一个extem声明,它声明在本文件出现的变量a是一个已经在其他文件定义过的外部变量,在本文件中不必另为它分配内存。
(7)通过此次实验,我初步掌握了函数的调用。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 实验 报告