int main()
{
int x = 0;
scanf("%d",&x);
if(x<=0)
{
printf("%d",7*x+10);
}
else if(0<x<=10)
{
printf("%d",3*(x*x));
}
else if(10<x<=20)
{
printf("%d",-x);
}
else if(x>20)
{
printf("30");
}
return 0;
}
到了第三个if语句的时候打印出的结果就不对了,为什么呢
else if(0<x<=10) 不能这样写,x>0&&x<=10
下面的一样
出错点在红框部分:
以下改法供题主参考:
#include<stdio.h>
int main()
{
int x = 0;
scanf("%d",&x);
if(x<=0)
{
printf("%d",7*x+10);
}
else if(x>0&&x<=10)
{
printf("%d",3*(x*x));
}
else if(x>10&&x<=20)
{
printf("%d",-x);
}
else if(x>20)
{
printf("30");
}
return 0;
}
运行结果如图: