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

4星 · 超过85%的资源 需积分: 30 27 下载量 139 浏览量 更新于2023-12-19 收藏 472KB DOC 举报
;。意味着我们必须在一行中单次输出的字数要能被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.数制转换 设计程序将一个二进制的数转换为十进制数。"