C语言提高-第9讲: 函数的嵌套调用(编制sin函数表)
来源:互联网 发布:阿里云短信授权书 编辑:程序博客网 时间:2024/05/17 22:57
任务和代码:
/* *All rights reserved *文件名称:main.c *作者: Osseyda 完成日期:2017.10.13 *版本号:v2. * *问题描述:在main()函数中调用show_sin_table(min_angle, max_angle),显示角度值为min_angle到max_angle之间的所有角度(间隔为1度)的正弦值。要求不能用数学库函数,可以将项目“太乐了”中的mysin函数拷贝到这个程序中,用于计算sin值。*问题输出:例如show_sin_table(0, 90)可以显示出所有0到90度的正弦值。可以考虑以速查表格的形式*/#include <stdio.h>//下面加入常变量和自定义函数的声明void show_sin_table(int,int);double mysin(double);double myabs(double);const double pi=3.1415926;int main(){ show_sin_table(0, 90); show_sin_table(135, 180); return 0;}//下面定义show_sin_table()函数void show_sin_table(int fAngle,int tAngle){ int i,count=0; printf("由%d度到%d度输出sin值的对应表(分三列):\n",fAngle,tAngle); for(i=1;i<=3;i++) printf("x\t\sin(x)\t\t"); printf("\n"); for(i=fAngle;i<=tAngle;i++){ printf("%d\t%.2f\t\t",i,mysin(i*pi/180)); count++; if(count%3==0) printf("\n"); } printf("\n"); return 0;}//下面定义mysin函数double mysin(double x){ double sum=x,x_pow=x,item,fact=1; int n=1,sign=1; //定义变量时赋初值,已经将第一项考虑到累加和sum中 do{ fact=fact*(n+1)*(n+2); //fact用于表示阶乘,在公式中作分母 x_pow*=x*x; //x_pow是分子中用于表示阶乘,在公式中作分母 sign=-sign; //确定即将要累加的这一项的符号 item =x_pow/fact*sign; //计算出要累加的项 sum+=item; //将该项累加上去 n+=2; } while(myabs(item)>1e-5); return sum;}double myabs(double x){ return ((x>=0)?x:-x);}
项目“太乐了”
运行结果:
知识点总结:
函数的嵌套调用;数据的表类输出;sin的泰勒展开式
心得:
在sin函数调用的时候,注意里面的参数是弧度制,否则就要出错啦~
阅读全文
0 0
- C语言提高-第9讲: 函数的嵌套调用(编制sin函数表)
- 第4周 C语言及程序设计提高例程-9 函数的嵌套调用
- 第8周 C语言及程序设计提高例程-31 编制自己的字符串函数
- C语言提高-第8讲: 函数的声明、定义和调用(歌手大奖赛计分函数版)
- C语言及程序设计提高例程-9 函数的嵌套调用
- c语言sin函数
- C语言提高-第26/27讲: 实现线性表基本操作的函数/编写查找和排序函数
- C语言写的Sin函数曲线
- C语言提高-第5讲: 函数的参数(求4数最大公约数)
- C语言提高-第5讲: 函数的参数(回文、素数)
- C语言提高-第7讲: 返回指针的函数(回顾“野指针”)
- C语言及程序设计提高例程-31 编制自己的字符串函数
- c语言初学---函数的嵌套调用 递归调用
- 第4周 C语言及程序设计提高例程-8 函数的声明、定义和调用
- 提高篇 第9节-函数的嵌套使用
- C语言里面函数嵌套调用的简单说明谢谢
- C语言sin和cos函数的实现
- C语言提高-第24/25讲: 数组名【指针】作为函数参数(成绩处理函数版)
- eclipse导入maven模块项目步骤以及问题处理
- [codevs3311]起床困难综合症
- 对组件的引用(refs)react
- Codeforces Round #401 (Div. 2) A. Shell Game
- Python中with的用法
- C语言提高-第9讲: 函数的嵌套调用(编制sin函数表)
- Tpshop商城短信接口开发
- activiti常用api
- javascript正则表达式
- xml中TabLayout的配置
- Android
- html angular自定义过滤器,指定所需要替换的文字
- 使用Vbox 搭建centos7 11.2.0.4 RAC
- 移动端摄像头