精华内容
下载资源
问答
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼#include #include #define PI 3.1415927double FACT(double x);double fact(int n);...double x,sin,temp,index;while(scanf("%lf%d",&x,&n)!=EOF){FACT(x);...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    #include

    #include

    #define PI 3.1415927

    double FACT(double x);

    double fact(int n);

    int main()

    {

    int n,i,k,flag;

    double x,sin,temp,index;

    while(scanf("%lf%d",&x,&n)!=EOF)

    {

    FACT(x);

    flag=1; index=0.1; temp=x; sin=0;/*初始化数据*/

    for(i=1;i

    index*=index; /*计算出10的-n次方*/

    i=1;

    while(fabs(temp)>=index) /*判断循环条件*/

    {

    temp=flag*x/fact(i); /*先计算x/i!*/

    for(k=0;k

    temp*=x;

    sin+=temp; /*加到sin*/

    flag=-flag; /*符号变换*/

    i+=2;

    }

    printf("%.*f\n",n,sin); /*输出*/

    }

    return 0;

    }

    double fact (int n) /*调用阶乘函数*/

    {

    double result;

    if(n==1||n==0)

    result=1;

    else

    result=n*fact(n-1);

    return result;

    }

    double FACT(double x)

    {

    while(x>PI/2||x

    x-=2*PI;

    return x;

    }

    展开全文
  • C语言 求sin(x)的近似值

    千次阅读 2019-08-15 15:32:55
    printf("%f\n",sin(90 * 3.1415926 /180)); } double mySin(double x){ double sum = x; //符号切换 int define = 1; for(int i = 3; ; i += 2){ if(define == 1){ sum = sum - pow(x,i)/...

    吾乃小白,如果有错,欢迎指正。

    #include<stdio.h>
    #include<math.h>
    double factorial(int);
    double mySin(double);
    double myPow(double,int);
    
    void main(){
    
    	//函数以弧度为难为 如果是角度则要 乘上3.1415926 后除180 。直接传入角度可能会越界
    	printf("%f\n",mySin(90 * 3.1415926 /180));
    	printf("------------system library function-----------\n");
    	printf("%f\n",sin(90 * 3.1415926 /180));
    	
    
    
    }
    
    double mySin(double x){
    	
    	double sum = x;
    	//符号切换
    	int define = 1;
    	for(int i = 3;  	; i += 2){
    		
    		if(define == 1){
    				sum = sum - pow(x,i)/factorial(i);
    				define = 0;
    		}else{
    				sum = sum + pow(x,i)/factorial(i);
    				define = 1;
    		}
    		
    		if(pow(x,i)/factorial(i) < 1e-5)break;
    	}
    
    	return(sum);
    }
    
    double factorial(int n){
    	//求一个数的阶乘
    	double temp = 1.0;
    	for(int i = 2; i <=n ;i++){
    		temp = temp * i;
    	}
    	return(temp);
    }
    
    double myPow(double x,int y){
    	//求一个数的次方
    	double temp = 1;
    	for(int i = 1; i <= y;i++){
    		temp = x * temp;
    	}
    	return(temp);
    }
    
    展开全文
  • C/C++ code/* @(#)k_sin.c 1.3 95/01/18 *//** ====================================================* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.** Developed at SunSoft, a Sun Micros...

    C/C++ code/* @(#)k_sin.c 1.3 95/01/18 */

    /*

    * ====================================================

    * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.

    *

    * Developed at SunSoft, a Sun Microsystems, Inc. business.

    * Permission to use, copy, modify, and distribute this

    * software is freely granted, provided that this notice

    * is preserved.

    * ====================================================

    */

    #ifndef lint

    static char rcsid[] = "$FreeBSD: src/lib/msun/src/k_sin.c,v 1.10 2005/11/02 13:06:49 bde Exp $";

    #endif

    /* __kernel_sin( x, y, iy)

    * kernel sin function on ~[-pi/4, pi/4] (except on -0), pi/4 ~ 0.7854

    * Input x is assumed to be bounded by ~pi/4 in magnitude.

    * Input y is the tail of x.

    * Input iy indicates whether y is 0. (if iy=0, y assume to be 0).

    *

    * Algorithm

    * 1. Since sin(-x) = -sin(x), we need only to consider positive x.

    * 2. Callers must return sin(-0) = -0 without calling here since our

    * odd polynomial is not evaluated in a way that preserves -0.

    * Callers may do the optimization sin(x) ~ x for tiny x.

    * 3. sin(x) is approximated by a polynomial of degree 13 on

    * [0,pi/4]

    * 3 13

    * sin(x) ~ x + S1*x + ... + S6*x

    * where

    *

    * |sin(x) 2 4 6 8 10 12 | -58

    * |----- - (1+S1*x +S2*x +S3*x +S4*x +S5*x +S6*x )| <= 2

    * | x |

    *

    * 4. sin(x+y) = sin(x) + sin'(x')*y

    * ~ sin(x) + (1-x*x/2)*y

    * For better accuracy, let

    * 3 2 2 2 2

    * r = x *(S2+x *(S3+x *(S4+x *(S5+x *S6))))

    * then 3 2

    * sin(x) = x + (S1*x + (x *(r-y/2)+y))

    */

    #include "math.h"

    #include "math_private.h"

    static const double

    half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */

    S1 = -1.66666666666666324348e-01, /* 0xBFC55555, 0x55555549 */

    S2 = 8.33333333332248946124e-03, /* 0x3F811111, 0x1110F8A6 */

    S3 = -1.98412698298579493134e-04, /* 0xBF2A01A0, 0x19C161D5 */

    S4 = 2.75573137070700676789e-06, /* 0x3EC71DE3, 0x57B1FE7D */

    S5 = -2.50507602534068634195e-08, /* 0xBE5AE5E6, 0x8A2B9CEB */

    S6 = 1.58969099521155010221e-10; /* 0x3DE5D93A, 0x5ACFD57C */

    double

    __kernel_sin(double x, double y, int iy)

    {

    double z,r,v;

    z = x*x;

    v = z*x;

    r = S2+z*(S3+z*(S4+z*(S5+z*S6)));

    if(iy==0) return x+v*(S1+z*r);

    else return x-((z*(half*y-v*r)-y)-v*S1);

    }

    展开全文
  • 附C程序: #include double cordic(double angle_para); int main(void) { double para; para=30; cordic(para); return 0;... } printf("x_cos = %f, y_sin = %f",x_cos,y_sin); return 0; } 

    附C程序:

    #include

    double  cordic(double angle_para);

    int  main(void)

    {

    double para;

    para=30;

    cordic(para);

    return 0;

    }

    double    cordic(double angle_para)

    {

    const double tangent[ ] ={1.0, 1/2.0, 1/4.0, 1/8.0, 1/16.0, 1/32.0, 1/64.0, 1/128.0, 1/512.0};

    const double  angle [ ] = { 45.0, 26.6, 14, 7.1, 3.6, 1.8, 0.9, 0.4, 0.2, 0.1 };

    int i, signal;

    double x_cos, y_sin, x_temp, y_temp, z, z_next;

    x_cos =0; y_sin=0; z=angle_para; z_next=0;

    x_temp =0.6073; y_temp=0;

    signal = 1;

    for (i=0; i<9; i++)

    {

    x_cos=x_temp - signal * y_temp * tangent [ i ];

    y_sin=y_temp+ signal * x_temp * tangent [ i ];

    z_next = z - signal * angle [ i ];

    x_temp = x_cos;

    y_temp = y_sin;

    z = z_next;

    if(z_next>0)

    signal = +1;

    else

    signal = -1;

    }

    printf("x_cos = %f, y_sin = %f",x_cos,y_sin);

    return 0;

    }

    

    展开全文
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼#include #include #define PI 3.1415927double FACT(double x);double fact(int n);...double x,sin,temp,index;while(scanf("%lf%d",&x,&n)!=EOF){FACT(x);...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼#include #include #define PI 3.1415927double FACT(double x);double fact(int n);...double x,sin,temp,index;while(scanf("%lf%d",&x,&n)!=EOF){FACT(x);...
  • C语言sin和cos的用法

    万次阅读 2018-07-19 16:30:05
    头文件 #iniclude&...360),出所对应的sin和cos(保留4位小数)读取到文件的结尾 样例输入 307 样例输出 -0.7986 0.6018   #include &lt;stdio.h&gt; #include&lt;...
  • C语言sin、asin、sinh三角函数对比

    千次阅读 2020-09-23 13:35:20
    三角函数是以角值,反三角函数是以值角 余弦函数cos(π) = -1,对应的反余弦函数arccos(-1) = π 因为C语言中没有定义π,所以本文使用反余弦函数arccos(-1)来准确表示π,arccos(-1)在C语言中写为acos(-1) 因为...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼#include #include #define PI 3.1415927double FACT(double x);double fact(int n);...double x,sin,temp,index;while(scanf("%lf%d",&x,&n)!=EOF){FACT(x);...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼#include #include #define PI 3.1415927double FACT(double x);double fact(int n);...double x,sin,temp,index;while(scanf("%lf%d",&x,&n)!=EOF){FACT(x);...
  • C语言实现cordic算法求sin和cos值

    千次阅读 2017-09-14 10:51:28
    附C程序: #include  double cordic(double angle_para);...printf("x_cos = %f, y_sin = %f",x_cos,y_sin); return 0; } 
  • C语言求多项式求sinx的近似值。来源:互联网宽屏版评论2010-12-22 19:59:48分类: 电脑/网络 >> 程序设计 >> 其他编程语言问题描述:3、利用下列台劳多项式求sinx的近似值。Sin x ≈x/1 - x3/3! + x5/5!-...
  • C语言求定积分

    千次阅读 2014-02-27 16:58:46
    写一个用矩形法求定积分的函数,求sin(x)在(0,1)上的定积分。 #include  #include  float jifen(float a,float b) {int i,l; float n=0.001,s=0; //n表示划分的单位宽度,n越小结果越精确,n是矩形的...
  • <p style="text-align:center"><img alt="" src="https://img-ask.csdnimg.cn/upload/1623846423415.png" /></p> 一直报错,是哪里错了呢。</p>
  • C语言求积分的近似值

    2019-04-30 17:09:08
    用梯形法积分的近似值 **/ #include"stdio.h" #include"math.h" float seekIntegral(float a, float b, int n) { float f1 = 0, f2 = 0; float s = 0; float deta, x; x = a; deta = (b - a) / n; f1 = sin...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼#include #include #define PI 3.1415927double FACT(double x);double fact(int n);...double x,sin,temp,index;while(scanf("%lf%d",&x,&n)!=EOF){FACT(x);...
  • ⑴ 编写一个汇编语言递归子程序...⑵ 编写一个计算Z=sin(2n+1)*F(n)的汇编语言主模块,其中sin(x)调用C语言的函数库、F(n)通过调用⑴中的模块实现,输入n。显示格式为: Z= 使用调试程序观察参数传递及堆栈平衡情况。
  • 三角函数sin(x)、cos(x) 要求:1.不得使用math.b头文件2.需包含2个c文件、 一个头文件,其中主函数单独占用一个c文件3.除主函数外,还要自定义4个函数,分别是sin(x)、cos(x)、 阶乘函数fac(n)、 幂函数pow(x.n)4....
  • s=(sin(a+n*i)+sin(a+n*(i+1)))*n/2+s; // (sin(a+n*i)是梯形的上底,sin(a+n*(i+1))是下底printf("用梯形法求得该...}三.(综合)写一个用矩形法和梯形法求定积分的通用函数,分别求sin(x)在(0,1)上、cos(x)在(-1,...
  • 写一个用矩形法定积分的通用函数,分别sin(x)dx, ∫cos(x)dx ,∫e^xdx
  • 2,首先An,如果单单An的话,我们可以把An分成两个部分,“sin(i”和“+或-”号,例如:sin(1,sin(2,sin(3中间要么是**+要么是-,这样我们用一个循环语句和一个if语句,便可以大致实现An,另外要注意右括号的...
  • 用循环出m的前一百项的数值。 #include  < stdio.h > int  main() ... {   double  m = 1.0 ;   double  x = 2.0 ,y = 1.0 ;   int  i = 0 ;   for  ( i = 0 ; i < 100 ;  ++ i )  ... {  m...
  • 本文为大家分享了C语言使用矩形法定积分的通用函数,供大家参考,具体内容如下 要求: 写一个用矩形法定积分的通用函数,分别sin(x),cos(x),e^x 。 分析: 矩形法,学过高等数学就知道化曲为直的思想。将定...
  • 2421: C语言习题 矩形法求定积分 时间限制:1 Sec内存限制:128 MB 提交:354解决:234 题目描述 ...(说明: sin,cos,exp已在系统的数学函数库中,程序开头要用#include<...输入求sin(x) 定积...
  • 返回:贺老师课程教学链接 项目要求【项目1-sin泰勒展式中的错误】下面是sin函数的泰勒展式:(注:x取弧度值,而非角度值)编写了double mysin(double x)用于求sin值,却“死”在了123°上(122°度的结果已经出来...
  • Description 写一个用矩形法求定积分的通用函数,...输入求sin(x) 定积分的下限和上限 输入求cos(x) 定积分的下限和上限 输入求exp(x) 定积分的下限和上限 Output 求出sin(x)的定积分 求出cos(x)的定积分
  • sin泰勒展式编写程序,sin(π/2)和sin(56°)的值,精度要求达到小数点后6位(即当最后一项的绝对值小于0.00001时,累加结束,绝对值的函数也可以自定义函数myabs实现)。 实际上,C语言的数学库(#include...
  • Problem E: C语言习题 矩形法定积分 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 791 Solved: 486 [Submit][Status][Web Board] Description 写一个用矩形法定积分的通用函数,分别 ...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 136
精华内容 54
关键字:

c语言求sin

c语言 订阅