一道三段函数的题,不知道代码哪里出问题了,应该怎么修改,就是输入x求y的值。
if语句后面不要加分号啊
加了分号,后面的代码行就不是if代码块的语句了。
另外也不能if(1<=x<10),只能是if(x>=1 && x<10)
如此修改即可:
int main()
{
double x,y;
printf("请输入x:\n");
scanf("%lf",&x);
if(x<1)
y=x;
else if(x<10)
y=2*x-1;
else
y=3*x-11;
printf("%lf",y);
return 0;
}
if(1<=x<10)不要这么写
改成if(1<=x && x< 10)
然后if后面的分号去掉
scanf和printf中用%d,scanf("%d", &x)
兄弟,你把scanf和printf后面的%f换成%lf应该就行了。
代码有3处错误,修改如下:(修改部分有注释)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
double x, y;
printf("请输入x:\n");
scanf("%lf", &x); //修改1 if改为lf
if (x < 1) //; 修改2,删掉分号
{
y = x;
printf("%f", y);
}
if (1 <= x && x < 10) //修改3 或者改为 else if( x<10)
{
y = 2 * x - 1;
printf("%f", y);
}
if (x >= 10)
{
y = 3 * x - 11;
printf("%f", y);
}
return 0;
}