#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. 这样还可以少用一个变量,你那种写法不推荐