大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
scanf是输入,是不可以指定精度的,所以 scanf("%.1f", x) ;这样的写法是错误的
成都创新互联是一家专注于成都网站制作、做网站、外贸营销网站建设与策划设计,平山网站建设哪家好?成都创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:平山等地区。平山做网站价格咨询:028-86922220
而且double是要用lf, 应该是scanf("%lf", x) ;
还有double ff();这个声明要和实体以及调用一致,应该是double ff( double x) ;
几个条件不同的可以用if ... else if ... else. 这样还可以少用一个变量,你那种写法不推荐
#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;
}
你确定y也是0-40间的整数吗?如果是的话,那么该分段函数中的第三段计算的结果已经超出了数值范围啊;如果y的取值没有限制,那么程序如下:
#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之间的整数!\n");
return;
}
printf("%d\n",y);
}