C语言计算分段函数

Python010

C语言计算分段函数,第1张

你确定y也是0-40间的整数吗?如果是的话,那么该分段函数中的第三段计算的结果已经超出了数值范围啊;如果y的取值没有限制,那么程序如下:

#include

<stdio.h>

void

main

()

{

int

x,y

scanf("%d",&x)

if(x>=0&&x<10)

y=x

else

if(x>=10&&x<20)

y=10

else

if(x>=20&&x<40)

y=x*x+3

else

{

printf("error:x不是0-40之间的整数!\n")

return

}

printf("%d\n",y)

}

#include <stdio.h> 

int main() 

{double x,y

 scanf("%lf",&x)

 if(x<0)y=x*x-1

   else if(x<1)y=x*x

     else y=x*x+1

 printf("%g",y)

return 0 

}

scanf是输入,是不可以指定精度的,所以 scanf("%.1f", &x) 这样的写法是错误的

而且double是要用lf, 应该是scanf("%lf", &x)

还有double ff()这个声明要和实体以及调用一致,应该是double ff( double x)

几个条件不同的可以用if ... else if ... else. 这样还可以少用一个变量,你那种写法不推荐