int x,y; scanf("%d",&x); if(x<1) y=x; if(1<=x<10) y=2*x-1; else y=3*x-11; printf("%d尀n",y);

输入14时,为啥输出27,不是31的么
2024-12-02 14:43:15
推荐回答(5个)
回答1:

#include
#include

int main()
{
int x,y;
scanf("%d",&x);
if(x<1)
y=x;
if(1<=x && x<10)
y=2*x-1;
else y=3*x-11;
printf("%d\n",y);
return 0;
}

不能这么写:1<=x<10

回答2:

帮你改 了 运行14时 输出31
#include "stdio.h"
main()
{int x,y;
scanf("%d",&x);
if(x<1) y=x;
if(1<=x && x<10)
y=2*x-1;
else y=3*x-11;
printf("%d\n",y);
}

回答3:

if(1<=x<10)
这个不对,c语言中,没有这种数学上的表示方式,要改写成
if(1<=x && x<10)

回答4:

原因是C不支持我们所习惯的表达形式。
解决方法是更改第二个if判断语句:
if(1<=x&x<10)

你再试试。

回答5:

你这是EX里面的吗