c語言計算sinx/x的簡單介紹

本文目錄一覽:

用C語言求sinx的值,望高人指點

你的factorial是一個函數,好象不可以直接乘以一個整數的吧,還有double factorial(int n)是不是需要一個返回值呢。if(n==0) return 1;只是在n=0的時候有返回值,n!=0就沒有了

C語言 求sin值

首先,你的測試輸入和測試輸出的數據是對應不上的,你寫錯信息了!

輸入 3.1415026, 3 的時候,輸出才是 -0.07522 。

好了,正確的參考代碼如下:

#include stdio.h

double power(double x, int n); // 計算乘方的函數

double fact(int n);            //  計算階乘的函數

int main(int argc, char const *argv[])

{

    double x, s;

    int n;

    int sign = 1; //正負號開關變量,初始狀態為正

    printf(“Please input a decimal number x , a postive int number n  :\n”);

    scanf(“%lf%d”, x, n);

    for (int i = 0; i = n; i++)

    {

        s += sign * power(x, 2 * i + 1) / fact(2 * i + 1);

        sign = -sign;

    }

    printf(“x = %g, n = %d, s = %.5lf \n”, x, n, s);

    return 0;

}

//計算x^n

double power(double x, int n)

{

    double p = 1;

    //  這樣的循環條件,很簡潔。因為函數傳入的是形參,也不會對main的變量造成影響。

    for (; n–;)

    {

        p *= x;

    }

    return p;

}

//  計算n!

double fact(int n)

{

    double f = 1;

    //  這樣的循環條件,很簡潔。因為函數傳入的是形參,也不會對main的變量造成影響。

    for (; n;)

    {

        f *= n–;

    }

    return f;

}

測試截圖:(分別測試了角度為 180度、90度、45度的弧度值)

輸入和輸出語句,你不想要這麼多的提示信息的話,自己修改一下就可以了。

如有幫助,煩請點採納,謝謝!

c語言計算sinx的值問題,運行無錯但得不到想要的結果.求解

/*sin(x)的泰勒展開式

sin(x)=x-x**3/(3!)+x**5/(5!)+……..

*/

#include stdio.h

#include math.h

#define PI 3.1415926

void main()

{

int n=1,c=1,a,b=1;

long double x,d=0,sinx=0;//這裡定義長雙精度,long float不是標準的數據類型

printf(“請輸入x的值:”);

scanf(“%lf”,x);//這裡輸入一定是%lf,輸入一開始就不對

for(n=1,c=1,a=1;;a++)

{

d=pow(x,n)/c;

sinx+=b*d;

b*=-1;

n++;

c*=n;

n++;

c*=n;

if(d1e-5)//可以寫成1e-5,不需再調用函數

{

break;

}

}

printf(“sinx的值為%f\n”,sinx);

printf(“運行的項數為%d\n”,a);

printf(“sin(x)的值為%lf\n”,sin(x));//作測試對比,注意輸入為弧度

}

C語言求sinx

修改了一下。 用 前後項的遞推: c=c*x*x/(float)i/(float)(i-1);

#include stdio.h

#include math.h

int main(){

double x,a,b=1,c=1,sum;

int i,count=1;

scanf(“%lf”,x);

sum=x;

for (i=3; fabs(c)1e-05;i=i+2){

c=c*x*x/(float)i/(float)(i-1);

b= -b;

sum=sum + c*b;

count++;

}

printf(“%.3lf %d\n”,sum,count);

return 0;

}

求幫看c語言計算sinx的一個程序!

程序是對的。

從高數上面考慮的話,該級數的收斂域是負無窮到正無窮,但是當x很大的時候,會導致收斂的時候循環次數過多,看上去就和死循環差不多,但是是可以計算出結果的。

用C語言程序算sinX的值

#include

#include

/*計算n的階乘*/

int factor(int n)

{

if(n==1)

return 1;

else

return factor(n-1)*n;

}

/*得到分子的值*/

double get_numerator(double x,int order)

{

return pow(x,order); //求x^order

}

/*得到分母的值*/

double get_denominator(int n)

{

return factor(n); //求n的階乘

}

/*獲得第n項的符號,即(-1)^n*/

int get_symbol(int n)

{

if(n%2 ==0) //n是偶數

return 1;

else

return -1;

}

int main()

{

int i;

double x;

double sin_x=0;

double tmp=0;

printf(“please input the x:\n”);

scanf(“%lf”,x);

for(i=0;;i++)

{

tmp=sin_x; //暫時保存上一步得到的sin值

sin_x += get_numerator(x,2*i+1)/get_denominator(2*i+1)*get_symbol(i);

if(fabs(sin_x-tmp)1e-6) //精度滿足要求

break;

}

printf(“sin(%lf)=%lf\n”,x,sin_x);

return 0;

} /***********************************************************************

學好c語言,首先應該把語言的語法學好,這也是基礎。尤其是注意指針部分,可以說這是c語言的精髓,也是c語言能夠直接操作內存的犀利之處。

其次,應該多練代碼,並且注意代碼的可讀性,規範性。

最好,能夠親身用c語言參加某個項目實踐,畢竟實踐出真知。

至於之後c++或者java的學習,要看自己的發展規划了。不過學好c語言,絕對對你今後學習其他語言有很大幫助。

*************************************************************************/

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/158405.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-19 00:41
下一篇 2024-11-19 00:41

相關推薦

  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的“畫筆”在窗口中繪製…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28

發表回復

登錄後才能評論