"经典实用C/C语言程序设计百例精解:算法与应用"

;。意味着我们必须在一行中单次输出的字数要能被2整除。为了规避这个问题,我们可以先把余弦曲线放大一倍,即将原来的x轴变成原来的两倍,然后将原来的y轴位置对应地变为原来的一半。这时用绘图软件观察就能发现,余弦曲线呈现出非常完美的图形。这里重点介绍一下程序中除法的解决方法。除法的实现是余弦曲线程序实现的难点。在本题中,我们的要求是打印余弦曲线,要求显示0~360度的余弦函数cos(x)曲线,在程序中用“*”显示,要求把坐标系的单位都放大10倍,即对于(x,cos(x))这个点,把x坐标放大10倍即可x/10,要求0~360度的cos(x)曲线完整显示在屏幕上。
下面是本题的关键:在一行中输出两个“*”。在计算出余弦函数值然后由于一个“*”对应1个单位长度,所以绘图的点坐标需要得到余弦值,此处余弦函数的值的最大值是1,在计算机中用整数形式来表示,为了保存尽可能多的显式信息,我们选择了更合适的数据类型double,并预先将角度值变化规则和余弦函数值放在数组中。对于有大量数据需要用“*”来显示的情况,数组显然是最为方便的存储方式,但这里明确限制了,数组作为存储方法不允许使用,所以这个地方就成了一个很大的难点了,我们可以用下面的方式来克服这个问题。1.考虑到一行中单次输出的字数要能被2整除,所以按照角度和对应的cos值按需整理,并查表输出,输出时根据角度的值找到对应的cos值,然后根据此值输出对应个数的“*”即可。2.将角度变化规则和对应的cos值按需整理,并查表输出,然后输出对应cos值(只输出整数部分,不输出小数),再在下一行输出对应的cos值。再次重申一遍,这里限制了数组不能作为存储的方法,但如何传递和使用数对数据也是需要考虑的。例如,假设我们约定用一个数据结构来表示一个二元数对,由于数组不能用,所以我们可以用类的方法来传递这个数据结构,这时先通过定义一个类来表示数对。这个类里面的数据成员就是需要用到的两个数值。在函数中定义一个该类的对象,然后将数据集相应的值分别付给这个对象的两个数据成员即可。再之后就可以通过成员函数的方法调用这两个数据成员了。总之,希望你在这个问题中能了解这种方法的实质,包括表达方法和数据成员调用方法。另外在余弦曲线的显示过程中,我们还用到了一些输出控制的技巧,下面我就具体介绍一下。在显示的时候我们经常需要对输出进行控制,包括对一定条件下程序输出格式的控制,或者对输出内容的格式控制。在本例中,我们需要考虑对输出内容的控制,这里就要用到输出流对象cout的控制方式。
(2)2.绘制余弦曲线和直线 图形问题,知识点为余弦函数的图像制作。提示:绘制余弦曲线与直线y = cosPi * x之间的图形。
(3)3.绘制圆 给定圆心坐标和半径,实现该圆的打印。
(4)4.歌星大奖赛 一场歌星大奖赛到来,参数有几位评委,每位评委的平均分数和选手的平均分数。输出结果为每位评委给出的分数和最后得分。
(5)5.求最大数 给定一串数字,输出最大的数字。
(6)6.高次方数的尾数 给定A, B两个正整数,求A的B次方的末尾K位的数。
(7)7.阶乘尾数零的个数 求给定n的阶乘的尾数零的个数。
(8)8.借书方案知多少 有四个人,分别借了10本、20本、30本、40本。
(9)9.杨辉三角形 输出杨辉三角形的前n行。
(10)10.数制转换 设计程序将一个二进制的数转换为十进制数。"
128 浏览量
2022-11-17 上传
139 浏览量
157 浏览量
2009-03-19 上传
2011-12-13 上传

偶是江湖中人
- 粉丝: 118
最新资源
- 免费教程:Samba 4 1级课程入门指南
- 免费的HomeFtpServer软件:Windows服务器端FTP解决方案
- 实时演示概率分布的闪亮Web应用
- 探索RxJava:使用RxBus实现高效Android事件处理
- Microchip USB转UART转换方案的完整设计教程
- Python编程基础及应用实践教程
- Kendo UI 2013.2.716商业版ASP.NET MVC集成
- 增强版echarts地图:中国七大区至省详细数据解析
- Tooloop-OS:定制化的Ubuntu Server最小多媒体系统
- JavaBridge下载:获取Java.inc与JavaBridge.jar
- Java编写的开源小战争游戏Wargame解析
- C++实现简易SSCOM3.2功能的串口调试工具源码
- Android屏幕旋转问题解决工具:DialogAlchemy
- Linux下的文件共享新工具:Fileshare Applet及其特性介绍
- 高等应用数学问题的matlab求解:318个源程序打包分享
- 2015南大机试:罗马数字转十进制数代码解析