#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);
}
而且由于使用了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);
}本回答被提问者和网友采纳
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的
另一个是
if(1<=x<10)没有x>=10的