關於c語言公式求sinx的信息

本文目錄一覽:

用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語言,絕對對你今後學習其他語言有很大幫助。

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

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語言求正弦值?

1、C語言中要編寫sin函數,實質上要利用sin的泰勒公式,然後根據泰勒公式,將其中的每一項進行分解,最後用循環,累加計算出最終結果。

2、下面用for循環實現sin的演算法,程序代碼如下:

#includestdio.h

#includemath.h

void main()

{

int  i;

float  x,sum,a,b;  //sum代表和,a為分子,b為分母

char s;

printf(“please input x”);

scanf(“%f”,x);

s=1;

sum=0;

a=x;     //分母賦初值

b=1;     //分子賦初值

for(i=1;a/b=1e-6;i++)

{

sum=sum+s*a/b;    //累加一項

a=a*x*x;     //求下一項分子

b=b*2*i*(2*i+1);   //求下一項分母

s*=-1;

}

printf(“sum=%f\n”,sum);

}

3、  關於上述程序的幾點說明:上述程序的計算結果精確到小數點後六位;上述程序運用了sin的泰勒展開式 sin x=x-x^3/3!+x^5/5! …… ,程序中將sin泰勒公式中的每一項拆成了分子,分母以及每一項前的符號這三項,以便於每一項的累加。

C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

儘管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標準規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。

二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標準局為C語言制定了一套完整的美國國家標準語法,稱為ANSI C,作為C語言最初的標準。目前2011年12月8日,國際標準化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標準,也是C語言的最新標準,該標準更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。

用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度的弧度值)

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

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

原創文章,作者:XIAH,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/141624.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
XIAH的頭像XIAH
上一篇 2024-10-08 17:53
下一篇 2024-10-08 17:53

相關推薦

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

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

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

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

    編程 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
  • Java 監控介面返回信息報錯信息怎麼處理

    本文將從多個方面對 Java 監控介面返回信息報錯信息的處理方法進行詳細的闡述,其中包括如何捕獲異常、如何使用日誌輸出錯誤信息、以及如何通過異常處理機制解決報錯問題等等。以下是詳細…

    編程 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
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28

發表回復

登錄後才能評論