十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
scanf是输入,是不可以指定精度的,所以 scanf("%.1f", x) ;这样的写法是错误的
成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、成都做网站、外贸网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的东湖网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
而且double是要用lf, 应该是scanf("%lf", x) ;
还有double ff();这个声明要和实体以及调用一致,应该是double ff( double x) ;
几个条件不同的可以用if ... else if ... else. 这样还可以少用一个变量,你那种写法不推荐
你确定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);
}
#includestdio.h
int main()
{
float x,y;
scanf("%f",x);
if(x1)
{
y=x*x;
}
else if(x=1x=10)
{
y=2*x-1;
}
else
y=3*x-11;
printf("x=%f,y=%f\n",x,y);
return 0;
}