printf("\nThe less is %f,\nthe more is %f,\nthe root is %f.",less,more,root);
創(chuàng)新互聯(lián)秉承實現(xiàn)全網(wǎng)價值營銷的理念,以專業(yè)定制企業(yè)官網(wǎng),成都網(wǎng)站建設、網(wǎng)站設計,微信小程序,網(wǎng)頁設計制作,成都手機網(wǎng)站制作,全網(wǎng)整合營銷推廣幫助傳統(tǒng)企業(yè)實現(xiàn)“互聯(lián)網(wǎng)+”轉型升級專業(yè)定制企業(yè)官網(wǎng),公司注重人才、技術和管理,匯聚了一批優(yōu)秀的互聯(lián)網(wǎng)技術人才,對客戶都以感恩的心態(tài)奉獻自己的專業(yè)和所長。
less more root double類型,輸出用浮點類型%f,一般編譯器給出警告,不會是錯誤
#includestdio.h
long int pX(int n, int x);
int main(void)
{
int n, x;
printf("Please Input the number of n and x: like this 2,3\n");
scanf("%d, %d", n, x);
printf("funtion of p(x)'s value is: %ld", pX(n, x));
return 0;
}
long int pX(int n, int x)
{
if (n == 0)
{
return 1;
}
else if (n == 1)
{
return x;
}
else
{
return (2*n-1)*x-pX(n-1, x)-(n-1)*pX(n-2, x)/n;
}
}
上面的函數(shù)可以實現(xiàn)你的要求, 但是沒有進行錯誤處理:
如: n 0 的情況
你的錯誤有以下幾點:
1. 沒有弄清楚指針和指針函數(shù);
2. 計算機不會計算未知量, 整個運算過程必須是數(shù)值的運算;
3. 需要寫出函數(shù), 并且遞歸調用;
問題一,x和y都是雙精度型(double)數(shù)變量,用格式輸入和輸出時,要使用格式符%lf,否則會出錯,得不到正確的結果。
你用的%d是整型(int)數(shù)的輸出輸入格式符。
所以你必須把他們統(tǒng)一起來,方法一是:把scanf和printf兩個語句中的%d都換成%lf;方法二是:把前面定義語句double x,y;中的double換成int,語句變成:
int x,y;
采用上面兩個方法都可以讓程序正常運行。
問題二,scanf語句中雙引號當中有“x=”,全部是:
scanf("x=%d",x);
或scanf("x=%lf",x);
這樣的寫法,要求在程序運行時,輸入的內容要包含雙引號內除格式符以外的所有字符,即你一定要輸入:
x=2[回車]
系統(tǒng)才能讀到x的值2。值得注意的是,x的大小寫都必須跟程序中的大小寫相同!
所以,你在程序運行時,直接輸入:
2[回車]
系統(tǒng)并不會取得2,更不會把2賦值給x,所以,導致程序運行到后面,也不會得出正確的y的值(11)。
有鑒于此,也有兩個辦法讓程序正確運行:
方法一,輸入時按“x=2[回車]”;
方法二,由于按“x=”非常不方便,容易出錯,建議把輸入語句的x=去掉,改成:
scanf("%d",x);
或scanf("%lf",x);
就能按照你圖片發(fā)來的輸入方法操作,得到正確的結果了。
有什么問題請留言。
頭文件:#include math.h
pow() 函數(shù)用來求 x 的 y 次冪(次方),其原型為:
double pow(double x, double y);
pow()用來計算以x 為底的 y 次方值,然后將結果返回。設返回值為 ret,則 ret = xy。
可能導致錯誤的情況:
如果底數(shù) x 為負數(shù)并且指數(shù) y 不是整數(shù),將會導致 domain error 錯誤。
如果底數(shù) x 和指數(shù) y 都是 0,可能會導致 domain error 錯誤,也可能沒有;這跟庫的實現(xiàn)有關。
如果底數(shù) x 是 0,指數(shù) y 是負數(shù),可能會導致 domain error 或 pole error 錯誤,也可能沒有;這跟庫的實現(xiàn)有關。
如果返回值 ret 太大或者太小,將會導致 range error 錯誤。
錯誤代碼:
如果發(fā)生 domain error 錯誤,那么全局變量 errno 將被設置為 EDOM;
如果發(fā)生 pole error 或 range error 錯誤,那么全局變量 errno 將被設置為 ERANGE。
注意,使用 GCC 編譯時請加入-lm。
本文題目:c語言函數(shù)運算出錯,c語言函數(shù)運算出錯怎么辦
當前地址:http://jinyejixie.com/article36/hojipg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、App開發(fā)、服務器托管、網(wǎng)站建設、定制開發(fā)、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)