第1个回答 2011-11-20
问题出在这里 if(0<x<=10) printf("%f\n",x-2);
输入20的时候,0<20的值为真,即是1,1<=10条件是真,所以输出20-2=18
c语言中不要用这种连写式,应该改为 (0<x&&x<=10) printf("%f\n",x-2);
其他连写式也一样修改即可
第2个回答 2011-11-20
#include "stdio.h"
void main()
{
float x,y;
printf("请输入数据: ");
scanf("%f",&x);
if(x<=-10)
printf("%f\n",2*x);
else
if(x>-10 && x<=0)
printf("%f\n",2+x);
else
if(x>0 && x<=10)
printf("%f\n",x-2);
else printf("%f\n",x/10);
}
这才是正确的写法 和上面各位大侠说的一样 C语言 不是数学 语法不能用错 不然谁也不会知道 会出现什么效果
第3个回答 2011-11-20
if(-10<x<=0) printf("%f\n",2+x); //这种条件判断你跟谁学的?基础哦
至少是这样:
if(-10<x && x<=0) printf("%f\n",2+x);
第4个回答 2011-11-20
是哪位大虾告诉你0<x<=10可以这么写的???
(x>0)&&(x<=10)
下面的错误也是一样