c語言編譯分段函數解析
⑴ c語言分段函數
寫法1
if (x>-5 && x<0) y = x;
if (x == 0) y=x-1;
if (x>0 && x<10) y = x+1;
寫法2
if (x>-5 && x<10)
{
y=x; //在這個范圍,不論怎樣,先把y賦值為x
if (x>=0) //在這個范圍,需要對y值做修改
{
y = y-1; //先把y-1再說,對應x=0的情況,如果x!=0,那麼我們再次修改
if(x>0)
y = y+2; //剛剛y-1了,所以需要+2
}
}
寫法3,終於是正常點的做法了
if (x>-5 && x<0) y=x;
else
{
if (x<10)
{
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;
}
⑵ C語言編寫分段函數
#include<stdio.h>
intmain()
{
intx,y;
scanf("%d",&x);
if(x<-10)
y=0;
elseif(x<100)y=5*x+1;
else
y=5*x+1;//這個表達式的值是什麼啊
printf("%d ",y);
return0;
}
⑶ 求解C語言編譯分段函數
用if-else語句實現
C語言代碼如圖
⑷ 用C語言中的if語句怎麼編譯一個分段函數
因為分段函數需要對定義域范圍進行判定,所以需要用到級聯式if else語句。
標准格式:
if (條件1)
{語句組1}
else if (條件2)
{語句組2}
... ...
else //這里包括了所有不在前面提到的條件中的情況,不需要單獨說明。
{}
流程圖如下:
再寫一個簡單的例子吧,x>0 --> f(x) = x & x<0 --> f(x) =-x ;
if (x > 0)
f = x;
else
f = -x;
⑸ 分段函數c語言編程
if
else寫的不對,你不加花括弧{}
的話,那麼if
和
else
後面只能跟一句話,你這明顯是多句代碼,所以建議用花括弧括起來。。
⑹ 怎麼用c語言編程一個分段函數
實驗報告
1、有一分段函數:
設計一程序完成, 主控函數main()輸入X的值並輸出Y值.函數VAL計算Y的值。
1.需求規格說明
本題要求掌握C語言的數據類型,程序結構,基本輸出輸入,函數應用知識,問題的要求用到兩個函數,要求利用主控函數main()輸入X的值並輸出Y值.並用函數VAL計算Y的值。
2.設計
2.1 設計思想
用兩個儲存空間分別存放主函數和被調用函數,在主函數中控制輸入輸出,在調用函數中對數據進行處理. 本程序需要用到實型變數作為數據主要數據類型.
2.2 設計表示
本程序有兩大模塊,主函數MAIN()和被調用函數VAL()
2.3實現注釋
程序開發環境為「Windows XP sp2中文版「為操作系統,運行環境turbo c/vc 6.0等等可以運行C語言程
2.4詳細設計
3.用戶手冊
用戶打開turbo c/vc 6.0的界面,啟動本程序,然後按ALT+R運行程序,用戶根據提示輸入x值, 然後按回車鍵,最後用ALT+F5看運行結果。
4.調試報告
在調試過程中,如果在主函數中沒有調用函數y=VAL(x),結果可以運行,但不能得到正確的結果.由此可知,我們在做主控函數時,一定要注意調用函數的重要性.
5.源程序清單
#include<stdio.h>
void main()
{float VAL(float x);
float x,y;clrscr();
printf("input x=");
scanf("%f",&x);
y=VAL(x);
printf("y= %f",y);
}
float VAL(float x)
{float y;
if(x<1)
y=x;
else if(x>=1&&x<10)
y=2*x-1;
else
y=3*x-11;
return(y);
}
⑺ C語言分段函數
我想問你個問題:你是不是用x = -1測試的??
那麼y = x-1 跟 y = 2x的結果不是一樣么,都是-2啊。。。不要因此得出結論x<=-1的時候y=2x
另外,你這個函數如果用if就全用if,如果用if--else-if,就全部這樣,不要混合用,很亂。
建議都用if--else if,這樣能夠看出是一個分段函數。
⑻ c語言求分段函數
幫你改了下代碼,VC6測試通過,自己看看吧。
#include<stdio.h>
int main()
{
float x,y;//根據給定的測試用例,x,y應該為float型
scanf("%f",&x);//x為float型,所以改為%f
if(x<20)
{
y=x+100;
}
else if(x>=20&&x<=100)
{
y=x;
}
else
y=x-100;
printf("x=%f,y=%f\n",x,y);
return 0;//缺少分號
}
⑼ c語言 分段函數 如圖急求~
#include<stdio.h>
#include<math.h>
intmain()
{floatx,y,z;//修改一
scanf("%f%f",&x,&y);
if(x>0&&y>0)
z=1.0/(double)(x+y);
elseif(x<0&&y>0)
z=sqrt(2*x-3*y);
elseif(y<0)//修改二
z=exp(x+y);
elsez=0;
printf("%lf",z);
return0;
}
題目有錯誤,在第二象限的話,根號下怎麼能為負數呢
#include<stdio.h>
#include<math.h>
intmain()
{doublex,y,z;
scanf("%lf%lf",&x,&y);
if(x>0&&y>0)
z=1.0/(double)(x+y);
elseif(x<0&&y>0)
z=sqrt(2*x-3*y);
elseif(y<0)
z=exp(x+y);
elsez=0;
printf("%lf",z);
return0;
}