c語言的分段函數(shù)求值 如何用c語言求分段函數(shù)

用C語言求分段函數(shù)值

#include?stdio.h?

我們提供的服務有:成都網(wǎng)站建設、成都網(wǎng)站設計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、豐都ssl等。為成百上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的豐都網(wǎng)站制作公司

int?main()?

{double?x,y;

scanf("%lf",x);

if(x0)y=x*x-1;

else?if(x1)y=x*x;

else?y=x*x+1;

printf("%g",y);

return?0;?

}

c語言 分段函數(shù)求值

你這個題是ACM的題目?我看了下你的程序,正經(jīng)的數(shù)字是可以的,但你說錯了,那就該就是要考慮極限情況了。譬如x=0.0000000000000000000000000000000001的時候,你的程序輸出是100.0。。。。。應該就是出錯在這里了。

還有我的老師告訴我,使用float不要用x==0這種表達方式,,因為float類型的等于其實就是在有限的位數(shù)上比較大小。。。當數(shù)字極小或者極大的時候就會出現(xiàn)不相等的數(shù)字會出現(xiàn)相等的情況了。

換成double就行了

#include "stdio.h"

void main()

{

double a=0.0;

while(scanf("%lf",a)!=EOF)

{

if(a0)

{

a=a*a+1;

}

else if(a0)

{

a=-a;

}

else if(a==0)

{

a=100.0;

}

printf("%.1lf\n",a);

a=0.0;

}

}

C語言求分段函數(shù)的值

x改成float類型,第一句printf結(jié)尾的分號是中文的,沒必要esle if,要清空緩沖區(qū),否則程序會一閃而過

#includestdio.h

#includemath.h

void main()

{

float x;

printf("輸入一個數(shù)X\n");

scanf("%f",x);

if (x0)

x=0;

else

x=2*x+1;

printf("%f\n",x);

fflush(stdin);

getchar();

}

分享文章:c語言的分段函數(shù)求值 如何用c語言求分段函數(shù)
轉(zhuǎn)載源于:http://muchs.cn/article24/doeooce.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化企業(yè)建站、網(wǎng)站改版、外貿(mào)建站品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設