Day1:C语言循环控制结构例题之求sinx近似值
利用sinx,计算sinx的值,直到最后一项的绝对值小于时为止。
首先,分析一下这个题。题目要求得出sinx的近似值,如果对C语言的数学函数有所了解的话,第一时间想到的应该是C语言中已经有了求sinx的函数,函数名为asin,函数模型为double asin(double x)来计算sinx的值。但是应该注意,要在源文件中包含头文件<math.h>且x的范围应在-1到1内。
#include <stdio.h>
#include <math.h>
int main(void)
{
double x;
sin(x);
printf("%lf",sin(x));
return 0;
}
然而这个题目要求我们用循环控制结构的知识来作答,所以我们的思路应该是首先循环计算出1,3,5,7……的阶乘然后表示出每一项的值,再将每一项的值相加得出sinx的近似值。需要解决以下难点:
每一项都需要变换正负
最后一项作为循环终止条件的表示
数学函数的正确运用
下面是我自己思路来编写的程序,希望各位大佬或者同学能给我提出意见*~*
运行后程序有点问题,希望大家可以帮我看看
#include <stdio.h>
#include <math.h>
int main(void)
{int n=1,i,y=0;//n为内循环循环控制变量,s表示为阶乘long int s=1; double x,sum=0,term;//x可能为小数,故将x定义为双精度的浮点数 printf("please input x:");scanf("%lf",&x);//printf("%lf\n",x);while(fabs(pow(x,n)/s)>=1e-5)//循环结束条件为最后一项的绝对值小于10^-5 {for(i=1;i<=n;i++)//用for循环来求每一项的阶乘 {s=i*s;//printf("s=%ld\n",s);}//printf("s=%d\n",s);term=(pow(-1,y))*pow(x,n)/s;//每一项值term //printf("term=%lf\n",term);sum+=term;// 记每一项的和 //printf("sum=%lf",sum);n=n+2; y++;s=1;}printf("sinx=%lf",sum);//sin(x);//printf("%lf", sin(x));return 0;
}
然后运行后就变成这样了,回车后也不出结果,有点迷茫,小白求指导***
下面附上例解供大家一起学习
#include <stdio.h>
#include <math.h>
int main(void)
{int n=1,count=1;double x;double sum,term;printf("Input x:");scanf("%lf",&x);sum=x;term=x;do{term=-term*x*x/((n+1)*(n+2));sum=sum+term;n=n+2;count++; }while(fabs(term)>=1e-5);printf("sin(x)=%f,count=%d\n",sum,count);return 0;
}
本人也是C语言菜鸟一枚,所以非常感谢各位大佬的意见和帮助(还有指出我的错误)!
纯手打,创作不易,感谢大家的支持!
我们共同进步!
Day1:C语言循环控制结构例题之求sinx近似值相关推荐
- python求sinx近似值_c语言求sinx的近似值 c语言求sinx近似值
#includevoid main(){ float x,a=0,b,t,n=1,s=1,c=1; printf("请输入x的值:"); scanf("%f", ...
- 第4关:求sinx近似值
from math import radians,factorial #factorial() 用于求阶乘 a = eval(input()) a1 = radians(a)# radians()将角 ...
- 升序输出三个数_C语言入门经典例题:求100~999的水仙花数
C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制). C++,首要考虑的 ...
- c语言循环控制结构的单元课程设计,C语言单元课程设计(张芝雨).pdf
<C语言程序设计>课第 1 单元 课程单元教学设计 (2017 -2018 学年第 1 学期) 单元名称: C 语 言 概 述 所属系部: 机电工程系 制定人: 张芝雨 合作人: 制定时间 ...
- C语言循环不执行语句,求大神来看一下 为什么for循环中scanf语句不执行?
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #define MAX_VERTEX_NUM 20 typedef struct{ char vexs[MAX_VERTEX_NUM]; ...
- c语言编程sinx泰勒公式_c语言求泰勒公式sinx近似值
展开全部 你的程序错误太2113多.直接给出按5261泰勒公式展4102开求sinx近似值1653的程序.#include #include int main() { double i,x,k,s=0 ...
- 泰勒求三角函数近似值
记录用泰勒求三角函数近似值的问题 题目一 用泰勒展开式求cosx近似值 1.题目描述 按上述公式求近似值,要求最后一项绝对值小于给定值e.最后结果与库函数进行比较求误差. 2.代码实现 import ...
- Java语言的循环控制结构
Java语言的循环控制结构 循环控制结构:是在一定条件下,反复执行某段程序的流程结构,被反复执行的程序称为循环体.循环控制结构是程序中非常重要和基本的一种结构,它是由循环语句来实现的. Java 的循 ...
- c语言奇数正偶数负,C语言二级考试练习题循环控制结构(二)
<C语言二级考试练习题循环控制结构(二)>由会员分享,可在线阅读,更多相关<C语言二级考试练习题循环控制结构(二)(21页珍藏版)>请在人人文库网上搜索. 1.1)具有以下程序 ...
最新文章
- HTML5对音频的支持
- Python编程基础:第四十一节 继承Inheritance
- winhex把二进制文件转换为C语言格式的流程
- Boost::context模块fiber的回溯测试程序
- 给窗口设置系统级或窗口级的热键
- DPlayer播放器本地化P2P解析加速版源码
- 【Elasticsearch】 Elasticsearch 多字段查询 best_fields、most_fields、cross_fields,傻傻分不清楚?
- 【编译原理笔记18】代码优化:活跃变量分析,可用表达式分析
- linux怎么快速输入括弧,中括号怎么打-linux运维:shell脚本中花括号的使用技巧...
- mybatis使用oracle自动生成主键
- 曾宪武《物联网通信技术》课后答案(三)
- css 全文字体大小,CSS 字体大小
- Linux系统管理---RAID磁盘阵列
- 为公网远程访问群晖NAS配置固定域名 2-2
- 韩国商业网站界面设计分析------推荐2005-5-24 出处:vipcn.com
- windows切换窗口,取消edge窗口为多个
- 红米5a手机html查看器,红米5A解锁BL教程_红米5A一键解锁的方法
- TDM-GCC MINGW配置与优化算法测试函数使用
- BigBrother的大数据之旅Day 13 hbase(2)
- 揭秘史上罕见教练奇才 穆里尼奥的足坛大航海时代
热门文章
- 2020 Q3数字资产现货交易所行业研究报告 Part2 | TokenInsight
- 利用Arduino+TB6600驱动模块控制两相四线42减速步进电机
- 一款新颖简捷的“中英文朗读软件”
- 系统IIS安装卡住不动了卡死解决方法
- android11正式版,谷歌悄无声息地放出安卓11的正式版本
- 电力智能运维是什么?有哪些优势?
- 花几千块钱买了电脑,别老只上QQ啊,校内啊,这些手机就能干的事。绝对的好东西,转来的,自己留着。。。
- 95后毕业生求职:不问工资,关心有无健身房下午茶
- ue4 android 地图瓦片,Bitmap2material 3贴图快速生成软件
- 计算机研究生复试英语自我介绍