在网上看到一个实例,是用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=;y>=-;y-=0.025)
  11. {
  12. m=acos(y)*;
  13. for(x=;x<m;x++) printf(" ");
  14. printf("*");
  15. for(;x<-m;x++)printf(" ");
  16. printf("*\n");
  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. #include<stdio.h>
  6. #include<math.h>
  7.  
  8. int main ()
  9. {
  10. double y;
  11. int x,i;
  12. for (y=1.0;y>=-1.0;y=y-0.1)
  13. {
  14. x = asin(y) * ;
  15. if(x>=)
  16. {
  17. for(i=;i<x;i++) printf(" ");
  18. printf("*");
  19.  
  20. for(;i<-x;i++) printf(" ");
  21. printf ("*\n");
  22. }
  23. else
  24. {
  25. x = abs(x)+;
  26. for(i=;i<x;i++) printf(" ");
  27. printf("*");
  28.  
  29. for(;i<-x;i++) printf(" ");
  30. printf ("*\n");
  31. }
  32. }
  33.  
  34. printf("\n\n");
  35. system("pause");
  36. }

显示的结果就是

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

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

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

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

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

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

用C语言打印出三角函数的更多相关文章

  1. C语言:根据形参c中指定的英文字母,按顺序打印出若干后继相邻字母,-主函数中放入一个带头节点的链表结构中,h指向链表的头节点。fun函数找出学生的最高分-使用插入排序法对字符串中的字符进行升序排序。-从文件中找到指定学号的学生数据,读入次学生数据,

    //根据形参c中指定的英文字母,按顺序打印出若干后继相邻字母,输出字母的大小与形参c一致,数量由形参d指定.例如:输入c为Y,d为4,则输出ZABC. #include <stdio.h> ...

  2. AutoCAD图形打印出图片 C#

    这几天搞cad二次开发,用的是C#语言,目前在网上找到的资料比较少.弄了两天,才做出怎样实现打印出图片.首先得在AutoCAD软件界面下,设置打印机的页面设置和打印机设备名称一样(以防打印不出来).即 ...

  3. 漫谈程序员系列:3D打印能打印出程序员吗

    首先声明,本文是一本正经的胡扯,绝不是随随便便的胡扯,请您不要随便攻击我胡说八道.我要反复星爷在<喜剧之王>里的台词:事实上.我是一本正经的喷子. 3D打印的定义 关于3D打印,以下是来自 ...

  4. C语言打印年历

    摘要:使用C语言打印年历 最初看到这个是觉得比较有意思,记得读书时候只写过月历,年历要复杂一些,现在水平提高了,来重新写一下吧. 看了网上的一些代码,大都比较繁琐,本文采用全新的思路完成年历打印. 整 ...

  5. 以16进制打印出一块内存buff

    如下代码(支持windows与Linux)会以[16进制][每行16字节]打印出一块内存的内容: void PrintBuffer(void* pBuff, unsigned int nLen) { ...

  6. 题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花 数 ",因为153=1的三次方+5的三次方+3的三次方。

    题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个 "水仙花 数 ", ...

  7. javap 可以打印出用于jni调用的java函数的签名信息

    javap可以打印出java的字节码: -c     Prints out disassembled code, i.e., the instructions that comprise the Ja ...

  8. c c++ 函数入口和出口的hook(gcc 编译选项),然后打印出函数调用关系的方法

    GCC Function instrumentation机制可以用来跟踪函数的调用关系,在gcc中对应的选项为“-finstrument-functions”.可查看gcc的man page来获取更详 ...

  9. Java基础知识强化07:打印出空心菱形

    1.如图打印出空心菱形: 2.下面是逻辑实现代码: package himi.hebao04; import java.util.Scanner; public class TestDemo08 { ...

随机推荐

  1. iOS 表视图(UITableVIew)的使用方法(1)表视图的示例

    表视图继承自UIScrollView,所以有着大多UIScrollView的操作特性,诸如手指控制内容的滚动,内容视图到顶端或者低端时的自动反弹等.配合UINavigationController的导 ...

  2. poj 2593 Max Sequence(线性dp)

    题目链接:http://poj.org/problem?id=2593 思路分析:该问题为求给定由N个整数组成的序列,要求确定序列A的2个不相交子段,使这m个子段的最大连续子段和的和最大. 该问题与p ...

  3. Flex LinkButton鼠标划过出现下划线

    在LinkButton中 textDecoration属性设置label的是否有下划线装饰,属性值分为"none","underline" 代码如下------ ...

  4. UISegmentedControl(分页控制器) AND UISlider(滑块控制器)

    - (void)viewDidLoad { [super viewDidLoad]; UIImageView * animatedImageView = [[UIImageView alloc]ini ...

  5. 1.23 确定一个Decimal或Double的整数部分

    知识点: 1.System.Math.PI 2.System.Math.Truncate() //取整 问题: 需要找出一个decimal 或 double数的整数部分. 解决方案 只要将一个deci ...

  6. struct 如何存储指针类型的值

    通过 __unsafe_unretained标示符标示指针类型的值,否则xcode会报以下错误(前提,你使用的是ARC模式): ARC forbids Objective-C objects in s ...

  7. Joel在耶鲁大学的演讲

    Joel Spolsky是一个美国的软件工程师,他的网络日志"Joel谈软件"(Joel on Software)非常有名,读者人数可以排进全世界前100名. 上个月28号,他回到 ...

  8. json所需jar包 & js解析后台json数据

    Json 所需jar包: var listxxx='<%=request.getAttribute("listxxx")%>';  // list数组 var mapx ...

  9. Log Collect

    http://ossectools.blogspot.com/2011/03/comprehensive-log-collection.html https://www.hacking-lab.com ...

  10. java 抽象类与接口的区别 整理

    抽象类与接口的区别 抽象类 包含抽象方法的类就是抽象类,声明的语句:abstract class 必须是public protected 接口 对行为的抽象,声明语句:interface 抽象方法的修 ...