#include <s

#include <stdio.h>
void main()
{
int x,y;
printf("请输入一个x值,我们将给出对应的y值\n");
scanf("x=%d",&x);
if(x<1)
y=x;
else
if(1<=x<10)
y=2*x-1;
else
y=3*x-11;
printf("x=%d y=%d\n",x,y);
}

不知道为什么 当x>=10的时候 结果不正确·

错误在于第一个else没有加大括号~
而且由于使用了else,那么第一个else下的if后面的条件写成“x<10”就等价于“1<=x&& x<10)”
所以,简洁的写法应该是:‘
#include <stdio.h>
void main(){
int x,y;
printf("请输入一个x值,我们将给出对应的y值\n");
printf("x = ");
scanf("%d",&x); //注意这里
if(x<1)
y=x;
else{
if(x<10) y=2*x-1;
else y=3*x-11;
}
printf("x=%d y=%d\n",x,y);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-23
#include <stdio.h>
void main()
{
int x,y;
printf("请输入一个x值,我们将给出对应的y值\n");
printf("x = ");
scanf("%d",&x); //注意这里

if(x<1)
y=x;
else{
if(1<=x&&x<10) // 注意这里

y=2*x-1;
else
y=3*x-11;
}
printf("x=%d y=%d\n",x,y);
}本回答被提问者和网友采纳
第2个回答  2012-08-22
难道你没看到代码里面两个if所带条件吗 一个是 if(x<1)
另一个是
if(1<=x<10)没有x>=10的

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网