服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - C语言实现在控制台打印余弦曲线

C语言实现在控制台打印余弦曲线

2023-03-09 15:50编程小鱼六六六 C/C++

余弦曲线又叫余弦波(cosinwave),是一种来自数学三角函数中的余弦比例的曲线。这篇文章主要为大家介绍了如何在控制台绘制余弦曲线,感兴趣的可以了解一下

需求

在控制台打印余弦曲线。

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

标准的纯余弦函数公式为:

C语言实现在控制台打印余弦曲线

实例代码

/**
* @author: 冲哥 @C语言中文社区
* @date: 2023/02/14
* @description:
*/
#include <stdio.h>
#include <math.h>

#define PI 3.141592653
#define BIG_SIZE 10 //图形放大的倍数

int main() {
  int x;//x轴
  double y;//y轴
  int m;
  for (y = 1; y >= -1; y -= 0.1) {//y的取值范围是-1~1,这里设置步长为0.1
      m = acos(y) * BIG_SIZE;//计算y对应的横坐标的值
      for (x = 1; x < m; x++) {
          printf(" ");//打印*之前的空格
      }
      printf("*");//打印*
      for (; x < 2 * PI * BIG_SIZE - m; x++) {//打印对称面的空格和*
          printf(" ");
      }
      printf("*\n");
  }
}

运行结果

C语言实现在控制台打印余弦曲线

 

代码分析

绘制余弦曲线用到了反余弦函数acos(),代码中需要引入#include <math.h>头文件,acos(y) 通过纵坐标的值来求出横坐标的值,确定了横坐标的值,其对称位置的横坐标值也就可以确定,即用2 * PI减去求出的横坐标值,为了让打印出的曲线更直观,代码里给x轴的值扩大了10倍。

 

补充

除了余弦曲线,当然还能绘制正弦曲线呀,下面就是实现代码

/****************绘制0~2PI区间内的弦曲线****************/
/***********编者:董炳政******编写时间2018/07/20**********/
/*******************************************************/
#include <stdio.h>
#include <math.h>
#define PI 3.14159

int main()
{
double y;          /*纵坐标y*/
int x,m;          /*横坐标x*/
for(y = 1;y >= 0;y -= 0.1) /*先求0~PI,纵轴y从1~0,步长为0.1*/
{
  m=asin(y)*10;      /*利用math.h中的反正弦函数,求对应横坐标的值,此时m为int型变量*/
  for(x = 1;x < m;x++)  /*开始逐行打点*/
    printf(" ");    /*在曲线定点右侧,打印空格*/
  printf("*");      /*第一个曲线定点打印“*”*/
  for(;x < 31-m;x++)   /*开始打印对称曲线定点,由于0~PI的对称性x的终值为31-m*/
    printf(" ");    /*在两定点之间打印空格*/
  printf("*\n");     /*第二个曲线定点打印“*”,并换行*/
}
for(y -= 0.1;y >= -1;y -= 0.1)
{
  m=(PI+asin(-y))*10;   
  for(x=1;x<m;x++)
    printf(" ");
  printf("*\n");
  for(;x<(62-(m-31));x++)
    printf(" ");
  printf("*\n");
}
return 0;
}

运行结果

[root@localhost 1_drawingcos]# ./drawingsin
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
**

到此这篇关于C语言实现在控制台打印余弦曲线的文章就介绍到这了,更多相关C语言余弦曲线内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/yx5666/article/details/129060529

延伸 · 阅读

精彩推荐
  • C/C++C++模板类的用法实例

    C++模板类的用法实例

    这篇文章主要介绍了C++模板类的用法实例,以实例形式详细讲述了模板类的接口、成员、内联函数等概念及用法,需要的朋友可以参考下...

    C++教程网4672021-02-06
  • C/C++详细解析C语言中的开方实现

    详细解析C语言中的开方实现

    这篇文章主要介绍了详细解析C语言中的开方实现,包括一道要求精度的整数开方的题目,需要的朋友可以参考下...

    zinss2691411052021-03-05
  • C/C++MFC对话框中添加状态栏的方法

    MFC对话框中添加状态栏的方法

    这篇文章主要介绍了MFC对话框中添加状态栏的方法,实例分析了MFC对话框添加状态栏所涉及的相关成员变量与事件实现技巧,需要的朋友可以参考下...

    华宰5512021-03-03
  • C/C++简介C/C++预处理器的一些工作

    简介C/C++预处理器的一些工作

    这篇文章主要介绍了C/C++预处理器的一些工作,有助于理解编译器底层的工作流程,需要的朋友可以参考下...

    C语言教程网6252021-03-02
  • C/C++Windows系统下使用C语言编写单线程的文件备份程序

    Windows系统下使用C语言编写单线程的文件备份程序

    这篇文章主要介绍了Windows系统下使用C语言编写单线程的文件备份程序,文中给出了实现的几个关键代码片段,剩下的只要套上main和线程调用的相关函数即可...

    C语言教程网7002021-03-25
  • C/C++C++虚函数表实例分析

    C++虚函数表实例分析

    这篇文章主要介绍了C++虚函数表,对多态中用到的虚函数表进行了比较通俗的实例分析,需要的朋友可以参考下...

    C++教程网6722021-01-31
  • C/C++VC++开发中完美解决头文件相互包含问题的方法解析

    VC++开发中完美解决头文件相互包含问题的方法解析

    本文中,为了叙述方便,把class AClass;语句成为类AClass的声明,把class AClass开始的对AClass的类成员变量、成员函数原型等的说明称为类的定义,而把在CPP中的...

    C++教程网10612020-12-28
  • C/C++C语言数据结构实现银行模拟

    C语言数据结构实现银行模拟

    这篇文章主要介绍了C语言数据结构实现银行模拟的相关资料,通过此文希望大家能理解离散化的方法,希望能帮助到大家,需要的朋友可以参考下...

    杨鑫newlfe8192021-05-29