C语言100例经典题目及余弦曲线绘制算法

需积分: 9 5 下载量 192 浏览量 更新于2023-12-15 5 收藏 343KB DOC 举报
该程序实现了在屏幕上绘制余弦曲线的功能,并使用 "*" 来表示曲线上的点。程序中共有 100 个经典的 C 语言题目,适合入门者使用。 问题分析与算法设计: 在本问题中,要在屏幕上绘制余弦函数的曲线,且要求不能使用数组。关键在于余弦函数在 0~360 度的区间内,一行中要显示两个点,而对一般的显示器来说,只能按行输出,即:输出第一行信息后,只能向下一行输出,不能再返回到上一行。为了获得题目要求的图形就必须在一行中一次输出两个 "*"。 为了同时得到余弦函数曲线在一行上的两个点,我们可以考虑利用余弦函数的左右对称性。将屏幕的行方向定义为 x,列方向定义为 y,则 0~180 度的图形与 180~360 度的图形是左右对称的。若定义图形的总宽度为 62 列,我们可以计算出在 x 行 0~180 度时 y 点的坐标为 m,那么在同一行与之对称的 180~360 度的 y 点的坐标就应为 62-m。在程序中,我们可以利用反余弦函数 acos 计算坐标(x,y)的对应关系。 程序说明与注释: 该程序使用了一种简洁的方法来解决问题。程序的基本思路是先计算出曲线上每个点的坐标,然后根据坐标将对应的位置填充为 "*",最终输出形成余弦曲线的图形。 在程序中,首先定义了一个总宽度为 62 列的图形,并初始化了 x 行 0~180 度对应的 y 点坐标 m。然后,使用一个循环从 0 度到 180 度,按照坐标与对称性的关系计算出余弦曲线上的点的坐标,并将对应位置填充为 "*"。接着,再使用一个循环从 180 度到 360 度,根据对称性填充余弦曲线的剩余部分。 最后,在屏幕上输出余弦曲线形成的图形。 这种方法编写的程序简洁而高效,体现了一定的技巧和思考。它通过利用二维图像的对称性,充分发挥了 C 语言的功能,实现了在屏幕上绘制余弦曲线的要求。 综上所述,通过本程序可以学习到 C 语言的编程技巧,并增加对余弦函数以及坐标与对称性的理解。该程序涵盖了 100 个经典的 C 语言题目,适合初学者使用。