C 语言经典实用趣味程序设计编程百例精解
### C语言经典实用趣味程序设计编程精解:绘制数学图形 #### 1. 绘制余弦曲线 在计算机编程中,尤其是对于初学者而言,能够通过编程来绘制数学图形是一种既有趣又能加深理解的方式。《C语言经典实用趣味程序设计编程百例精解》中的第一个例子便是绘制余弦曲线,这不仅考验了编程者的逻辑思维,同时也涉及到了数学知识的应用。 **问题分析与算法设计** 绘制余弦曲线的关键在于理解余弦函数的周期性和对称性。余弦函数`cos(x)`在0至360度范围内呈现左右对称的特点。考虑到屏幕输出的特性,程序设计者需利用这一点来实现在一行中同时输出两个点,从而构成完整的余弦曲线。这通常涉及到利用余弦函数的反函数`acos()`来计算坐标,并利用屏幕的列方向作为`y`轴,行方向作为`x`轴,以实现图形的绘制。 **程序说明与注释** 程序通过循环遍历`y`值,从1到-1,步长为0.1,计算每一行中`cos(x)`图形的点。利用`acos(y)*10`计算出对应的弧度`m`,乘以10是为了放大图形,使其更清晰可见。接下来,程序通过两次循环输出“*”,分别代表余弦曲线在0至180度和180至360度区间的点,利用图形的对称性,通过`62-m`计算出对称点的坐标。 **思考题** - 如何实现用“*”显示0至360度的`sin(x)`曲线? - 在屏幕上显示0至360度的`cos(x)`曲线与直线`f(x)=45*(y-1)+31`的迭加图形,其中`cos(x)`用“*”表示,直线用“+”表示,在两个图形相交的点上则用直线的符号。 #### 2. 绘制余弦曲线和直线 在掌握了绘制单一图形的基础上,本书进一步探讨了如何在同一屏幕空间内同时绘制两个不同类型的图形——余弦曲线和直线。这不仅提升了编程的复杂度,同时也提供了图形叠加和交互的可能性。 **问题分析与算法设计** 为了实现两个图形的叠加,程序需要先判断两个图形是否在某一点上相交,然后根据交点的位置决定输出哪个图形的符号。这一过程涉及到对两个图形方程的解析以及它们在屏幕坐标系下的位置计算。 **程序说明与注释** 程序通过循环遍历`y`值,计算每个`y`值下余弦曲线和直线的`x`坐标。利用条件语句,程序判断当前`x`坐标是否位于两个图形的交点上,如果是,则输出“+”,如果不是,则根据`x`坐标输出相应的图形符号。 **思考题** - 如何实现`sin(x)`曲线与`cos(x)`曲线图形的同时显示? #### 3. 绘制圆 绘制圆的挑战在于如何精确地表示圆的几何形状,尤其是在基于字符的屏幕环境中。此例展示了如何利用圆的方程`R*R=X*X+Y*Y`来计算圆上每一点的坐标,进而绘制出一个空心的圆。 **问题分析与算法设计** 程序通过遍历`y`值,计算对应的`x`坐标,利用圆的方程和屏幕的纵横比调节系数来确保绘制出的是一个标准的圆形而非椭圆。通过控制输出“*”的位置,可以准确描绘出圆的轮廓。 **程序说明与注释** 程序使用循环遍历`y`值,通过`sqrt(100-y*y)`计算出对应的`x`坐标`m`,并利用屏幕的纵横比调节系数2.5调整坐标,以适应屏幕的实际比例,避免图形失真。接着,程序通过输出特定位置的“*”来绘制出空心的圆。 这些示例不仅展示了C语言编程的基本技巧,如循环、条件语句、数学函数的使用,还深入探讨了图形学和数学的结合,为初学者提供了一个有趣且富有教育意义的学习路径。
- ysndsc7112011-11-12例子确实比较经典,表达的意思也比较有趣,有些例子和我的老师讲的经典例子是一样的,里面包含里很多的知识点,没看懂一题收获也很多,给个好评。
- E_hugo2012-12-22例子确实比较经典,好评
- 粉丝: 13
- 资源: 12
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助