十年網(wǎng)站開發(fā)經驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
我想問你個問題:你是不是用x = -1測試的??
創(chuàng)新互聯(lián)公司自2013年起,先為郴州等服務建站,郴州等地企業(yè),進行企業(yè)商務咨詢服務。為郴州企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
那么y = x-1 跟 y = 2x的結果不是一樣么,都是-2啊。。。不要因此得出結論x=-1的時候y=2x
另外,你這個函數(shù)如果用if就全用if,如果用if--else-if,就全部這樣,不要混合用,很亂。
建議都用if--else if,這樣能夠看出是一個分段函數(shù)。
寫法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再說,對應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;
}
幫你改了下代碼,VC6測試通過,自己看看吧。
#includestdio.h
int main()
{
float x,y;//根據(jù)給定的測試用例,x,y應該為float型
scanf("%f",x);//x為float型,所以改為%f
if(x20)
{
y=x+100;
}
else if(x=20x=100)
{
y=x;
}
else
y=x-100;
printf("x=%f,y=%f\n",x,y);
return 0;//缺少分號
}
#include "stdio.h"
#includemath.h
void main()
{
double x,y,f,h;
printf("請輸入x:\n");
scanf("%lf",x);
printf("請輸入y:\n");
scanf("%lf",y);
if((x=0)(y0))
f=2*pow(x,2)+3*x+1/x+y;
else if((x=0)(y=0))
f=2*x*x+3*x+1/x+y*y;
else
f=3*sin(x+y)/2/pow(x,2)+3*x+1;
printf("x=%lf,y=%lf,f=%lf\n",x,y,f);
h=pow(x,2);
printf("%lf",h);
}