我想問你個問題:你是不是用x = -1測試的??
成都創(chuàng)新互聯(lián)公司"三網(wǎng)合一"的企業(yè)建站思路。企業(yè)可建設(shè)擁有電腦版、微信版、手機(jī)版的企業(yè)網(wǎng)站。實現(xiàn)跨屏營銷,產(chǎn)品發(fā)布一步更新,電腦網(wǎng)絡(luò)+移動網(wǎng)絡(luò)一網(wǎng)打盡,滿足企業(yè)的營銷需求!成都創(chuàng)新互聯(lián)公司具備承接各種類型的成都做網(wǎng)站、網(wǎng)站制作項目的能力。經(jīng)過十年的努力的開拓,為不同行業(yè)的企事業(yè)單位提供了優(yōu)質(zhì)的服務(wù),并獲得了客戶的一致好評。
那么y = x-1 跟 y = 2x的結(jié)果不是一樣么,都是-2啊。。。不要因此得出結(jié)論x=-1的時候y=2x
另外,你這個函數(shù)如果用if就全用if,如果用if--else-if,就全部這樣,不要混合用,很亂。
建議都用if--else if,這樣能夠看出是一個分段函數(shù)。
輸入數(shù)用scanf()函數(shù);
分段用switch()函數(shù);
1、絕對值用math庫里面的abs()函數(shù)
2、e^x用math庫里面的pow(e,x)函數(shù)
3、同理指數(shù)的都有pow()函數(shù),
4、cos函數(shù)也是math庫里面的double cos(double x)函數(shù)
補(bǔ)充:對于自變量x的不同的取值范圍,有著不同的對應(yīng)法則,這樣的函數(shù)通常叫做分段函數(shù)。它是一個函數(shù),而不是幾個函數(shù);分段函數(shù)的定義域是各段函數(shù)定義域的并集,值域也是各段函數(shù)值域的并集。
#include math.h
int main()
{
double x,y;
scanf("%lf",x);
if (x0)
y=0.5*(-x);
else
if (x10)
y=exp(x)+3;
else
if(x20)
y=log10(x);
else
if (x30)
y=pow(x,1.5);
else
if (x50)
y=pow (x,0.5)-1;
else
y=3*cos(x);
printf("y=%lf\n",y);
return 0;
}
擴(kuò)展資料
return 0代表程序正常退出。return是C++預(yù)定義的語句,它提供了終止函數(shù)執(zhí)行的一種方式。當(dāng)return語句提供了一個值時,這個值就成為函數(shù)的返回值。
return語句用來結(jié)束循環(huán),或返回一個函數(shù)的值。
1、return 0,說明程序正常退出,返回到主程序繼續(xù)往下執(zhí)行。
2、return 1,說明程序異常退出,返回主調(diào)函數(shù)來處理,繼續(xù)往下執(zhí)行。return 0或return 1對程序執(zhí)行的順序沒有影響,只是大家習(xí)慣于使用return(0)退出子程序而已。
寫法1
if (x-5 x0) y = x;
if (x == 0) y=x-1;
if (x0 x10) y = x+1;
寫法2
if (x-5 x10)
{
y=x; //在這個范圍,不論怎樣,先把y賦值為x
if (x=0) //在這個范圍,需要對y值做修改
{
y = y-1; //先把y-1再說,對應(yīng)x=0的情況,如果x!=0,那么我們再次修改
if(x0)
y = y+2; //剛剛y-1了,所以需要+2
}
}
寫法3,終于是正常點的做法了
if (x-5 x0) y=x;
else
{
if (x10)
{
if (x==0) y=x-1;
else y=x+1;
}
}
寫法4
switch(x)
{
case 0:
y=x-1;
break;
case -4;
case -3;
case -2;
case -1;
y=x;
break;
case 1;
case 2;
case 3;
case 4;
case 5;
case 6;
case 7;
case 8;
case 9;
y=x+1;
break;
}