#includestdio.h
尼木網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,尼木網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為尼木1000多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的尼木做網(wǎng)站的公司定做!
int main()
{
int (*p)(int a,int b); /*定義P為一個指針,指向一個接受兩個int參數(shù)返回int的函數(shù)*/
int a,b,maxi;
int max(int a,int b);
scanf("%d,%d",a,b);
p=max;
maxi=p(a,b); /*()的優(yōu)先級高于*,所以你那樣寫相當(dāng)于重新解引用了。(*p)(a,b)這樣也可以*/
printf("%d",maxi);
return 0;
}
int max(int a,int b)
{
int c;
c=ab?a:b;
return(c);
}
#include stdio.h
#include math.h
double fun_math(double);
int main(void)
{
/*? 根據(jù)函數(shù)可知Y是關(guān)于x的一個遞增函數(shù) */
/*? 先判斷輸入Y時,X在(0,1)時是否有解 */
double Y;
double X=0 ,big_x=1.0,small_x=0,tmp_X=1;
unsigned int tmp=0;
printf("Please enter Y:");
scanf("%lf",Y);
if(fun_math(1) = Y fun_math(0) = Y)
{
while(tmp_X != X)
{
X =(big_x + small_x)/2;
if(fun_math(X)==Y) break;
if(fun_math(X)Y) big_x = X;
else small_x = X;
tmp_X = X ;
X =(big_x + small_x)/2;
}
printf("X = %.6lf",X);
}
else printf("while Y=%lf, X(0,1) on results\n",Y);
return 0;
}
顯然0是方程的根,然后用牛頓法,從1.0和-1.0去迭代
得到1.895494 和-1.895494兩個解
驗證一下
#include stdio.h
#include math.h
#define DX 0.001
double g(double x) {
return 2 * sin(x) - x;
}
double Dg(double x) {
return (g(x + DX) - g(x)) / DX;
}
double f(double x) {
return x - (g(x) / Dg(x));
}
int good(double a, double b) {
return fabs(a - b) 0.0000001;
}
double fixpoint(double x) {
double next = f(x);
if (good(next, x))
return next;
else
return fixpoint(next);
}
int main() {
printf("%f\n", fixpoint(1.0));
printf("%f\n", fixpoint(-1.0));
return 0;
}
網(wǎng)站題目:c語言不動點求解函數(shù)零點 怎么計算函數(shù)不動點
網(wǎng)站網(wǎng)址:http://muchs.cn/article48/ddiphhp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、軟件開發(fā)、企業(yè)網(wǎng)站制作、電子商務(wù)、網(wǎng)站營銷、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)