利用sinx,计算sinx的值,直到最后一项的绝对值小于时为止。

  1. 首先,分析一下这个题。题目要求得出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. 然而这个题目要求我们用循环控制结构的知识来作答,所以我们的思路应该是首先循环计算出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近似值相关推荐

  1. python求sinx近似值_c语言求sinx的近似值 c语言求sinx近似值

    #includevoid main(){ float x,a=0,b,t,n=1,s=1,c=1; printf("请输入x的值:"); scanf("%f", ...

  2. 第4关:求sinx近似值

    from math import radians,factorial #factorial() 用于求阶乘 a = eval(input()) a1 = radians(a)# radians()将角 ...

  3. 升序输出三个数_C语言入门经典例题:求100~999的水仙花数

    ​C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制). C++,首要考虑的 ...

  4. c语言循环控制结构的单元课程设计,C语言单元课程设计(张芝雨).pdf

    <C语言程序设计>课第 1 单元 课程单元教学设计 (2017 -2018 学年第 1 学期) 单元名称: C 语 言 概 述 所属系部: 机电工程系 制定人: 张芝雨 合作人: 制定时间 ...

  5. C语言循环不执行语句,求大神来看一下 为什么for循环中scanf语句不执行?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #define MAX_VERTEX_NUM 20 typedef struct{ char vexs[MAX_VERTEX_NUM]; ...

  6. c语言编程sinx泰勒公式_c语言求泰勒公式sinx近似值

    展开全部 你的程序错误太2113多.直接给出按5261泰勒公式展4102开求sinx近似值1653的程序.#include #include int main() { double i,x,k,s=0 ...

  7. 泰勒求三角函数近似值

    记录用泰勒求三角函数近似值的问题 题目一 用泰勒展开式求cosx近似值 1.题目描述 按上述公式求近似值,要求最后一项绝对值小于给定值e.最后结果与库函数进行比较求误差. 2.代码实现 import ...

  8. Java语言的循环控制结构

    Java语言的循环控制结构 循环控制结构:是在一定条件下,反复执行某段程序的流程结构,被反复执行的程序称为循环体.循环控制结构是程序中非常重要和基本的一种结构,它是由循环语句来实现的. Java 的循 ...

  9. c语言奇数正偶数负,C语言二级考试练习题循环控制结构(二)

    <C语言二级考试练习题循环控制结构(二)>由会员分享,可在线阅读,更多相关<C语言二级考试练习题循环控制结构(二)(21页珍藏版)>请在人人文库网上搜索. 1.1)具有以下程序 ...

最新文章

  1. HTML5对音频的支持
  2. Python编程基础:第四十一节 继承Inheritance
  3. winhex把二进制文件转换为C语言格式的流程
  4. Boost::context模块fiber的回溯测试程序
  5. 给窗口设置系统级或窗口级的热键
  6. DPlayer播放器本地化P2P解析加速版源码
  7. 【Elasticsearch】 Elasticsearch 多字段查询 best_fields、most_fields、cross_fields,傻傻分不清楚?
  8. 【编译原理笔记18】代码优化:活跃变量分析,可用表达式分析
  9. linux怎么快速输入括弧,中括号怎么打-linux运维:shell脚本中花括号的使用技巧...
  10. mybatis使用oracle自动生成主键
  11. 曾宪武《物联网通信技术》课后答案(三)
  12. css 全文字体大小,CSS 字体大小
  13. Linux系统管理---RAID磁盘阵列
  14. 为公网远程访问群晖NAS配置固定域名 2-2
  15. 韩国商业网站界面设计分析------推荐2005-5-24 出处:vipcn.com
  16. windows切换窗口,取消edge窗口为多个
  17. 红米5a手机html查看器,红米5A解锁BL教程_红米5A一键解锁的方法
  18. TDM-GCC MINGW配置与优化算法测试函数使用
  19. BigBrother的大数据之旅Day 13 hbase(2)
  20. 揭秘史上罕见教练奇才 穆里尼奥的足坛大航海时代

热门文章

  1. 2020 Q3数字资产现货交易所行业研究报告 Part2 | TokenInsight
  2. 利用Arduino+TB6600驱动模块控制两相四线42减速步进电机
  3. 一款新颖简捷的“中英文朗读软件”
  4. 系统IIS安装卡住不动了卡死解决方法
  5. android11正式版,谷歌悄无声息地放出安卓11的正式版本
  6. 电力智能运维是什么?有哪些优势?
  7. 花几千块钱买了电脑,别老只上QQ啊,校内啊,这些手机就能干的事。绝对的好东西,转来的,自己留着。。。
  8. 95后毕业生求职:不问工资,关心有无健身房下午茶
  9. ue4 android 地图瓦片,Bitmap2material 3贴图快速生成软件
  10. 计算机研究生复试英语自我介绍