zoukankan      html  css  js  c++  java
  • 用C语言打印出三角函数

    在网上看到一个实例,是用C 中的* 打印出三角函数cos

     1 #include<stdio.h> 
     2 #include<math.h> 
     3 
     4 int main() 
     5 
     6 {  
     7   double y; 
     8   int x,m;  
     9 
    10 for(y=1;y>=-1;y-=0.025) 
    11   {  
    12     m=acos(y)*40; 
    13     for(x=1;x<m;x++) printf(" "); 
    14     printf("*"); 
    15     for(;x<248-m;x++)printf(" ");  
    16     printf("*
    "); 
    17   } 
    18  system("pause"); 
    19 }

    网络上的是图像扩大10倍,我将它扩大到了40倍。如果你真的要看这个程序的显示结果就要把显示窗口宽度加宽哦。要不显示不正确。

    这个题目的下面一个是打印出sinx 。因为cosx 的 反函数的定义域是正。而sinx的反函数的定义域有负数。这个就要分类讨论了。

     1 //date: 2013/8/15
     2 //designer:pengxiaoen
     3 //function printf the function sinx (0 <= x <= 6.2)
     4 
     5 
     6 #include<stdio.h> 
     7 #include<math.h> 
     8 
     9 
    10 int main ()
    11 {
    12   double y;
    13   int x,i;
    14   for (y=1.0;y>=-1.0;y=y-0.1)
    15   {                                           
    16     x = asin(y) * 10;                                                          
    17     if(x>=0)
    18     {
    19        for(i=1;i<x;i++) printf(" ");
    20        printf("*");
    21     
    22        for(;i<31-x;i++) printf(" ");
    23        printf ("*
    ");
    24     }
    25     else
    26     {                                      
    27        x = abs(x)+32;
    28        for(i=1;i<x;i++) printf(" ");
    29        printf("*");
    30     
    31        for(;i<94-x;i++) printf(" ");
    32        printf ("*
    ");
    33     }
    34   }
    35   
    36   printf("
    
    ");
    37   system("pause");
    38 }

    显示的结果就是

    有一个小插曲: 在定义的时候如果将y定义成float 类型。貌似也可以。其实有点区别。单精度处理之后在函数曲线平滑区是显示不了的。

    好吧,不卖关子了。直接说现象

    如果将y定义成float 类型  第十四行的y将不能取值-1.这样函数图像Y轴最下方的两个*不不见了。

     我后来就把 y>=-1 改成y>=-1.01。这样y是可以取值-1了,但是 这两个* 跑到了最左端。

    解决办法,将y定义成double类型。加大精确度。

    至于原因我下一篇博文会讨论到,关于他们各自的存储格式以及精度。

  • 相关阅读:
    LeetCode 914. 卡牌分组
    LeetCode 999. 车的可用捕获量
    LeetCode 892. 三维形体的表面积
    21航电5E
    min25筛 学习笔记
    牛客多校6G
    2021航电多校3
    2021牛客多校H
    [模版] 快速傅里叶变换
    2021牛客多校第五场
  • 原文地址:https://www.cnblogs.com/sepeng/p/3259381.html
Copyright © 2011-2022 走看看