用C语言打印出三角函数
在网上看到一个实例,是用C 中的* 打印出三角函数cos
#include<stdio.h>
#include<math.h> int main() {
double y;
int x,m; for(y=;y>=-;y-=0.025)
{
m=acos(y)*;
for(x=;x<m;x++) printf(" ");
printf("*");
for(;x<-m;x++)printf(" ");
printf("*\n");
}
system("pause");
}
网络上的是图像扩大10倍,我将它扩大到了40倍。如果你真的要看这个程序的显示结果就要把显示窗口宽度加宽哦。要不显示不正确。
这个题目的下面一个是打印出sinx 。因为cosx 的 反函数的定义域是正。而sinx的反函数的定义域有负数。这个就要分类讨论了。
//date: 2013/8/15
//designer:pengxiaoen
//function printf the function sinx (0 <= x <= 6.2) #include<stdio.h>
#include<math.h> int main ()
{
double y;
int x,i;
for (y=1.0;y>=-1.0;y=y-0.1)
{
x = asin(y) * ;
if(x>=)
{
for(i=;i<x;i++) printf(" ");
printf("*"); for(;i<-x;i++) printf(" ");
printf ("*\n");
}
else
{
x = abs(x)+;
for(i=;i<x;i++) printf(" ");
printf("*"); for(;i<-x;i++) printf(" ");
printf ("*\n");
}
} printf("\n\n");
system("pause");
}
显示的结果就是
有一个小插曲: 在定义的时候如果将y定义成float 类型。貌似也可以。其实有点区别。单精度处理之后在函数曲线平滑区是显示不了的。
好吧,不卖关子了。直接说现象
如果将y定义成float 类型 第十四行的y将不能取值-1.这样函数图像Y轴最下方的两个*不不见了。
我后来就把 y>=-1 改成y>=-1.01。这样y是可以取值-1了,但是 这两个* 跑到了最左端。
解决办法,将y定义成double类型。加大精确度。
至于原因我下一篇博文会讨论到,关于他们各自的存储格式以及精度。
用C语言打印出三角函数的更多相关文章
- C语言:根据形参c中指定的英文字母,按顺序打印出若干后继相邻字母,-主函数中放入一个带头节点的链表结构中,h指向链表的头节点。fun函数找出学生的最高分-使用插入排序法对字符串中的字符进行升序排序。-从文件中找到指定学号的学生数据,读入次学生数据,
//根据形参c中指定的英文字母,按顺序打印出若干后继相邻字母,输出字母的大小与形参c一致,数量由形参d指定.例如:输入c为Y,d为4,则输出ZABC. #include <stdio.h> ...
- AutoCAD图形打印出图片 C#
这几天搞cad二次开发,用的是C#语言,目前在网上找到的资料比较少.弄了两天,才做出怎样实现打印出图片.首先得在AutoCAD软件界面下,设置打印机的页面设置和打印机设备名称一样(以防打印不出来).即 ...
- 漫谈程序员系列:3D打印能打印出程序员吗
首先声明,本文是一本正经的胡扯,绝不是随随便便的胡扯,请您不要随便攻击我胡说八道.我要反复星爷在<喜剧之王>里的台词:事实上.我是一本正经的喷子. 3D打印的定义 关于3D打印,以下是来自 ...
- C语言打印年历
摘要:使用C语言打印年历 最初看到这个是觉得比较有意思,记得读书时候只写过月历,年历要复杂一些,现在水平提高了,来重新写一下吧. 看了网上的一些代码,大都比较繁琐,本文采用全新的思路完成年历打印. 整 ...
- 以16进制打印出一块内存buff
如下代码(支持windows与Linux)会以[16进制][每行16字节]打印出一块内存的内容: void PrintBuffer(void* pBuff, unsigned int nLen) { ...
- 题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花 数 ",因为153=1的三次方+5的三次方+3的三次方。
题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个 "水仙花 数 ", ...
- javap 可以打印出用于jni调用的java函数的签名信息
javap可以打印出java的字节码: -c Prints out disassembled code, i.e., the instructions that comprise the Ja ...
- c c++ 函数入口和出口的hook(gcc 编译选项),然后打印出函数调用关系的方法
GCC Function instrumentation机制可以用来跟踪函数的调用关系,在gcc中对应的选项为“-finstrument-functions”.可查看gcc的man page来获取更详 ...
- Java基础知识强化07:打印出空心菱形
1.如图打印出空心菱形: 2.下面是逻辑实现代码: package himi.hebao04; import java.util.Scanner; public class TestDemo08 { ...
随机推荐
- VC使用CRT调试功能来检测内存泄漏
信息来源:csdn C/C++ 编程语言的最强大功能之一便是其动态分配和释放内存,但是中国有句古话:“最大的长处也可能成为最大的弱点”,那么 C/C++ 应用程序正好印证了这句话.在 C/C+ ...
- JAVA的IO学习
IO 有具体的分类: 有具体的分类:1:根据处理的数类型不同:字节流和字符流.2:根据流向不同:输入流和输出流. =============(补充字节跟字符概念区分)================= ...
- C#语言基础之运算符
运算符分类.优先级 运算符:一.数学运算符:+,-,*,/,++,-- 示例1: 示例2: 示例3: 1.递增运算符:++(1)前缀递增运算符 int x=4; x++;//输出结果,x的 ...
- eclipse打war包
链接地址:http://jingyan.baidu.com/article/c910274be14164cd361d2ddc.html 一个程序要想放到服务器容器中很多人想到了打一个war包放到tom ...
- php随机10-thinkphp 3.1.3 模板继承 布局
8.25 模板继承 模 板继承是3.1.2版本添加的一项更加灵活的模板布局方式,模板继承不同于模板布局,甚至来说,应该在模板布局的上层.模板继承其实并不难理解,就好比类 的继承一样,模板也可以定义一个 ...
- 【转载】CentsOS系统inotify实时监控服务器文件(夹)定制事件处理程序
原始博文和参考博文 1.CentsOS系统inotify实时监控服务器文件 2.Linux中让进程在后台运行的方法 3.linux inotify 监控文件系统事件 非常好 方法一 说明: 服务器系统 ...
- Python学习之路——类
类: 类是将抽象的实物进行的划分. 在现实世界中如果我们将: 人类包含:男人.女人.孩子.老人等动物类包含:小猫.小狗.小兔子等 在代码世界中我也可以分类,例如将相同功能的代码放到一起,这就是分类. ...
- [WPF疑难]避免窗口最大化时遮盖任务栏
原文 [WPF疑难]避免窗口最大化时遮盖任务栏 [WPF疑难]避免窗口最大化时遮盖任务栏 周银辉 WPF窗口最大化时有个很不好的现象是:如果窗口的WindowStyle被直接或间接地设置为None后( ...
- JAVA用JNI方法调用C代码实现HelloWorld
一.首先是java运行环境的搭建,到官网下载java jdk安装即可(注意要修改环境变量).还可以顺便安装eclipse. 二.编写java代码,文件名HelloWorld.java public c ...
- CloudStack 物理网络架构
原文地址:http://www.shapeblue.com/cloudstack/understanding-cloudstacks-physical-networking-architecture/ ...