趣味C语言06:绘制余弦曲线

趣味C语言06:绘制余弦曲线趣味 C 语言系列 01 绘制余弦曲线增加编程的趣味性 感受编程之美 一起来看看如何绘制余弦曲线吧 余弦曲线

大家好,欢迎来到IT知识分享网。

名人说:莫愁千里路,自有到来风。 ——钱珝
创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊)
本篇内容简介一、概念说明-->二、问题呈现-->三、源码实现(+注释)-->四、输出结果展示-->五、简要解释



一、概念说明

1.1余弦曲线的定义

余弦曲线一般指余弦波。 余弦曲线或余弦波(cosinwave)是一种来自数学三角函数中的正弦比例的曲线。也是模拟信号的代表,与代表数字信号的方波相对。

1.2简单补充说明

余弦曲线的形状就像完美的海上波浪般,以三角函数余弦比例改变而形成。

标准的纯余弦函数公式为:
在这里插入图片描述

1.3余弦曲线图样

二、问题呈现

Problem Description

在屏幕上用字符“*”显示0°~360°的余弦函数cos(x)曲线。

Input

Output

用字符“*”显示的0°~360°的余弦函数cos(x)曲线

Sample Input

Sample Output

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** 

三、源码实现(+注释)

#include<stdio.h> #include<math.h> int main(){ 
     double y;//y为列方向 int x,m;//定义两个整形变量 x为行(横)方向,m代表弧度 //y为列方向,值从1到-1,步长为0.1 for(y=1;y>=-1;y-=0.1) { 
     //计算出y对应的弧度m,10为图形放大的倍数 m = acos(y)*10; //控制打印左侧的*号 for(x=1;x<m;x++) printf(" "); printf("*"); //控制打印同一行中对称的右侧*号 for(;x<62-m;x++) printf(" "); printf("*\n"); } return 0; } 

四、输出结果展示

4.1输出结果
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** -------------------------------- Process exited after 0.2912 seconds with return value 0 请按任意键继续. . . 
4.2输出结果(图示版)

在这里插入图片描述


五、简要解释

5.1解题关键

关键在于余弦曲线在0°~360°的区间内。

注释:在这区间内意味着什么呢?一行中要显示两个点,而对一般的显示器来说, 只能按行输出,即:输出第一行信息后,向下一行输出,不可再到上一行。因此为了满足本题要求的图形,就必须在一行中一次顺序输出两个字符“ * ”,这样才能在一行中显示两个点。

5.2细节理解
  • 为了得到余弦函数cos(x)图形在一行上的两个点,同时要考虑利用cos(x)的左右对称性。将屏幕的行方向定义为 x列方向定义为 y,则 0°~180°的图形与 180°~ 360°的图形是左右对称的
  • 定义图形的总宽度为62列,计算出x行0°~180°时y点的坐标m,那么在同一行与之对称的180°…360°的y点的坐标就应为62-m。程序中利用反余弦函数(arccos)acos计算坐标(x,y)的对应关系。
  • 附: math.h头文件中声明了常用的一些数学运算,比如乘方,开方运算等等。

    acos定义在math数学函数库(math.h)。

5.3小提示

用这种方法编出的程序可能看起来比较精简,但是需要一定的技巧在里面。自然,方法不止这一种也可以采用数组去实现,借助数组可能会更简单一些。

很感谢你能看到这里,如有相关疑问,还请下方评论留言。
Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊)
希望本篇内容能对大家有所帮助,如果大家喜欢的话,请动动手点个赞和关注吧,非常感谢你们的支持!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/135281.html

(0)
上一篇 2025-07-05 20:33
下一篇 2025-07-05 20:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信