#include<stdio.h>
int main()
{
float x,y//根据给定的测试用例,x,y应该为float型
scanf("%f",&x)//x为float型,所以改为%f
if(x<20)
{
y=x+100
}
else if(x>=20&&x<=100)
{
y=x
}
else
y=x-100
printf("x=%f,y=%f\n",x,y)
return 0//缺少分号
}
你确定y也是0-40间的整数吗?如果是的话,那么该分段函数中的第三段计算的结果已经超出了数值范围啊;如果y的取值没有限制,那么程序如下:#include
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)
}