第六次上机试验作业_第1页
第六次上机试验作业_第2页
第六次上机试验作业_第3页
第六次上机试验作业_第4页
第六次上机试验作业_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第六次实验内容 函数与预处理一1一、实验内容和实验要求1. 练习题一程序代码#include<iostieam>using namespace std;mt pnme(int n); 函数声明mt maiii()lilt m;pmitf("输入一个整数:");ciii»m;if (prmie(m)/*根据prune函数的返回值输出相应信息*/cout«m«n 是素数 W;elseprmtf(n%d 不是素数return 0;函数(5) 运行结果,输入29,将结果贴图(6) 思考题及问题如果要求按每行5个数的格式输出200300中所有

2、素数,如何修改主函数?2. 练习题二程序代码#include<iostieam>using namespace std;mt ConmioiiDivisor(int m, iiit n);mt LowestConunoiiMultiple(mt m. mt n); 函 数声明mt maiii() iiit m, n;cout«n求最人公约数和最小公倍数,请输入111和nll";ciii»m»n;cout«M最人公约数为H«ConunoiiDivisor(mai)<<,最小公倍数为 n«LowestCo

3、nunonMultiple(nL n)«endl;return 0;mt ConimoiiDivisor(int m, iiit n)/mt LowestConmioiiMultiple(iiit m. int n)/(5) 运行结果,输入98 46(6) 思考题及问题如果使用没有返回值函数,通过定义全局变量定义也可以完成本题要求功能,如何修改程序?3. 练习题三程序代码#iiiclude<iostieam>include <cstriiig>usmg namespace std;mime chai fiin(char ch)int maiii() char

4、c;cout«Hplease mput a string/1;while(c=getchai()!='n,) /*连续读入若干字符,输入为”回车”时结束*/ cout«fun(c);cout«MnH;return 0;思考题及问题如呆要实现与本题过程相反的解密功能,如何修改程序?4. 练习题四程序代码#iiiclude<iostieam>#include <cniath>usmg namespace std;int maiii()void root(float a、float b); 函数声明void root(float a, f

5、loat b, float d);void root 1 (float a, float b, float d);void print(float b, float c);void print (float a, float b. float c);float a, b, c、d;cout«”a=”;cin»a;cout«nb="cin»b;cout«”c=”;cin»c;d=b*b-4*a*c;cout«5,the equation is “;if (fabs(a)<le-6)pnnt(b, c);else

6、 if(fobs(d)<=le-6) 方程有两个相等的实根 pang b, c);root(a, b);else if(d>le-6)方程有两个不相等的实根 prmt( a, b, c);root(a, b, d);else方程有两个虚根 pimt(a, b, c);root 1 (a, b. d);retimi 0;求相等实根函数思考题及问题程序中,哪些函数是重载函数?5. 数字反射(此题为新增内容)(1)要求编写一个函数,接收一个整数值,返回这个数中数字逆序后的结果值。例如:给定 数7631,函数返回1367.思路 通过 10运算与循坏的结合,可依次获得给定数的每位数字。例如:

7、 7631%10=1,获得了个位数;7631 / 10 =763,即丢掉了个位数字。继续卞去, 可依次得到数字1、3、6、7. 边循坏边将每次得到的数字添加到需返回的数值中。例如:0*10+1=1: 1*10+3=13; 13*10+6=136; 136*110+7=1367.程序代码运行结呆6. 猜数字游戏要求编写一个程序,可以玩“猜数字”的游戏。具体描述如下:程序在11000之间的 整数中随机选择需要猜的数。然后显示:I have a number btween 1 and 1000.Can you guess my number?Please type your first guess玩

8、家于是输入猜想的第一个数。程序会做出如卞响应之一:1 Excellent You guessed the number!Would you like to play again (y or n)?2. Too low. Try again3. Too high Try again如果玩家的猜测是不正确的,程序应继续循坏,直到玩家最终猜对为止。此过程中 程序要一直提醒玩家是猜犬了(Tool high)还是猜小了 (Tool low),这样帮助玩家尽 快获得正确的答案。思路 通过nmd()函数产生随机数。关于rand()的介绍和使用方法已附在本文档最后, 请参考使用。 程序流程介绍如下:a) 产生

9、一个让玩家猜想的介于11000的数,并显示提示.b) 通过循坏检测玩家猜想是否正确。如正确,输出相应提示并退出循坏:如 不正确,输出相应提示,继续循坏。 本题中关于函数的使用不做具体限制,可使用函数,也可不使用函数。若使用 函数,可将本程序按功能进行分解,每一个子功能应用函数。程序代码运行结呆1. 自测练习一编写函数实现删除字符串中字符T的功能,要求使用内联函数。 程序代码如下:2. 自测练习二编写重载函数Max可分别求取两个整数,三个整数,两个双精度数,三个双精度数的最 大值。程序代码如下:3自测练习三设计一个打印年历的程序。要求:打印每个月的月历的功能有一个独立的函数完成,程 序运行时,主

10、程序通过若干次调用该函数完成年历的输出。注意处理闰年问题。(此题选作!)提示:在主程序中输入年份,然后调用打印月历的函数依次打印该年12个月的月历。打印月 历的函数参数为:年份,月份,无返回值。打印结果:纵向对应星期口至星期六,依次在相 应位置输出日期。女山2012年4月的月历:2012年4月月历:口-二三四五六123456789101112131415161718192021222324252627282930 此函数有两个问题需要解决:1、该月的天数。关于此问题只需注意闰年的影响即可。 2、该月的第一天是星期几?这个问题需找一个参照点,如设2000年1月1 口为参照点,这天 是星期六,则可计算该月的第一天距离参照点有多少天,如2012年4月1 口与2000年1月1 口相 差4474天,4474&7=1,所以2012年4月1日是星期日。 可设计一个专门的函数计算某年某月的天数,一个专门的函数计算某年某月某口是星 期几,一个专门的函数计算两个口期之间相差的天数程序代码如下:4.自测练习四有一个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论