main()
{
int x,y;
printf(“Please enter a int number ……..\n”);
scanf(“%d”,&x);
printf(“The number you entered is \n X=%d \n”,x);
if(-5<x<0) y=x;
if(x=0) y=x-1;
if(0<x<10) y=x+1;
printf(“The result is \n Y=%d\n”,y);
}
>> 本文固定链接: http://www.vcgood.com/archives/2382
y总是==1
???????????????????????????????
我看不出来程序错误,
估计是c语言错了。
main()
{
int x,y;
printf(“Please enter a int number ……..\n”);
scanf(“%d”,&x);
if(-5<x<0)
y=x;
if(x==0)
y=x-1;
if(0<x<10)
y=x+1;
printf(“The number you entered is \n X=%d \n”,x);
printf(“The result is \n Y=%d\n”,y);
}
等于应该是‘==’,而 ‘=’是赋值号!~
ok,
我又忘了==。
谢谢。
不过y的结果还是不对。。。。。。。。。。。。。。。。????????????????
如果输入<=0的数,结果错误!!!!!!!!!!!!1
程序好像总是在执行最后一句条件
f(0<x<10)
y=x+1;
前面的条件都不执行了????????????
main()
{
int x,y;
printf(“Please enter a int number ……..\n”);
scanf(“%d”,&x);
if(-5<x<0)
y=x;
else if(x==0)
y=x-1;
else if(0<x<10)
y=x+1;
printf(“The number you entered is \n X=%d \n”,x);
printf(“The result is \n Y=%d\n”,y);
}
真不好意思,红色部分还不能执行,其它地方应该没有问题了,我也是初学者,也不知道问题出在什么地方,我再看看吧!~
main()
{
int x,y;
printf(“Please enter a int number ……..\n”);
scanf(“%d”,&x);
if(-5<x||x<0)
y=x;
else if(x==0)
y=x-1;
else if(0<x<10)
y=x+1;
printf(“The number you entered is \n X=%d \n”,x);
printf(“The result is \n Y=%d\n”,y);
}
可能是c语言中不能连续大于,或小于
这样应该没有问题了
还是不对。
晕ing
我也不太清楚了,可以是负号的问题吧,你再找个高手帮你看看吧!~我再帮你问问!~
你运行放结果上来,我怎么运行正确啊?
输入-2
Y=1
就不对了
只有输入>0的 数才正确。
晕ing。。。。。。。。。。。。。。。。。
#include<stdio.h>
void main()
{
int x,y;
printf(“Please enter a int number ……..\n”);
scanf(“%d”,&x);
printf(“The number you entered is \n X=%d \n”,x);
if(-5<x&&x<0)
{y=x ; }
if(x==0)
{y=x-1; }
if(0<x&&x<10)
{y=x+1; }
printf(“The result is \n Y=%d\n”,y);
}
我的怎么运行正确?你贴下来试试。
多了,
多谢!!!!!!!!
if后的表达式要用{}扩起来啊。。。。。。。。。。。。
书上都没有说明。
错了
main()
{
int x,y;
printf(“Please enter a int number ……..\n”);
scanf(“%d”,&x);
printf(“The number you entered is \n X=%d \n”,x);
if(-5<x && x<0)
y=x;
else if(x==0)
y=x-1;
else if(0<x && x<10)
y=x+1;
else
printf(“The number that you entered is out of array. \nSo the result is wrong!!!\n”);
printf(“The result is \n Y=%d\n”,y);
}
重拾旧梦。
不完美的地方,当输入的数字不属于上述范围,输出“重新输入”,怎么实现?GOTO?忘完了。。。。
希望出来个高手,写的完美一些。
main()
{
int x,y;
printf(“Please enter a int number ……..\n”);
a:
scanf(“%d”,&x);
printf(“The number you entered is \n X=%d \n”,x);
if(-5<x && x<0)
y=x;
else if(x==0)
y=x-1;
else if(0<x && x<10)
y=x+1;
else if (-5>x || x==5 || x>10 || x==10)
{
printf(“the unmber that you entered is out of array.\n\n\n\nPlease reenter x:”);
goto a;
}
printf(“The result is \n Y=%d\n”,y);
}
[QUOTE=gs88588]多了,
多谢!!!!!!!!
if后的表达式要用{}扩起来啊。。。。。。。。。。。。
书上都没有说明。
[/QUOTE]
并不是{}的问题,是判断上的问题,看看逻辑或,与,非部分,而且上述程序有一个问题就是,输入不属于上述所有范围的时候,仍然运行Y=X+1;