scanf是輸入,是不可以指定精度的,所以 scanf("%.1f", x) ;這樣的寫(xiě)法是錯(cuò)誤的
成都網(wǎng)絡(luò)公司-成都網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司十多年經(jīng)驗(yàn)成就非凡,專(zhuān)業(yè)從事網(wǎng)站制作、成都做網(wǎng)站,成都網(wǎng)頁(yè)設(shè)計(jì),成都網(wǎng)頁(yè)制作,軟文營(yíng)銷(xiāo),廣告投放等。十多年來(lái)已成功提供全面的成都網(wǎng)站建設(shè)方案,打造行業(yè)特色的成都網(wǎng)站建設(shè)案例,建站熱線:13518219792,我們期待您的來(lái)電!
而且double是要用lf, 應(yīng)該是scanf("%lf", x) ;
還有double ff();這個(gè)聲明要和實(shí)體以及調(diào)用一致,應(yīng)該是double ff( double x) ;
幾個(gè)條件不同的可以用if ... else if ... else. 這樣還可以少用一個(gè)變量,你那種寫(xiě)法不推薦
你確定y也是0-40間的整數(shù)嗎?如果是的話,那么該分段函數(shù)中的第三段計(jì)算的結(jié)果已經(jīng)超出了數(shù)值范圍?。蝗绻鹹的取值沒(méi)有限制,那么程序如下:
#include
void
main
()
{
int
x,y;
scanf("%d",x);
if(x=0x10)
y=x;
else
if(x=10x20)
y=10;
else
if(x=20x40)
y=x*x+3;
else
{
printf("error:x不是0-40之間的整數(shù)!\n");
return;
}
printf("%d\n",y);
}
#include?stdio.h?
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;?
}
#include
int?main()
{
int?x,y;
scanf("%d",x);
if(0xx10)?y=3*x+2;
else
{if(x=0)?y=0;
else
{if?(x0)?y=x*x;
else?printf("go?die\n");
}
}
printf("%d",y);
return?0;
}該程序的分段函數(shù)如下:
f(x)=3x+2? (0x10)
f(x)=1???????? (x=0)
f(x)?=?x*x??? (x0)
#include stdio.h
#include math.h
void main()
{
float x;
double y;
printf("Please input the value of x:");
scanf("%f",x);
if(x=-10x=4)
{
y=fabs(x-2);
printf("y=%.2f\n",y);
}
else if(x=5x=7)
{
y=x+10;
printf("y=%.2f\n",y);
}
else if(x=8x=12)
{
y=pow(x,4);
printf("y=%.2f\n",y);
}
else
printf("No answer\n");
}
你確定y也是0-40間的整數(shù)嗎?如果是的話,那么該分段函數(shù)中的第三段計(jì)算的結(jié)果已經(jīng)超出了數(shù)值范圍啊;如果y的取值沒(méi)有限制,那么程序如下:
#include
stdio.h
void
main
()
{
int
x,y;
scanf("%d",x);
if(x=0x10)
y=x;
else
if(x=10x20)
y=10;
else
if(x=20x40)
y=x*x+3;
else
{
printf("error:x不是0-40之間的整數(shù)!\n");
return;
}
printf("%d\n",y);
}