我想问你个问题:你是不是用x = -1测试的??
我们提供的服务有:成都网站建设、成都做网站、微信公众号开发、网站优化、网站认证、东川ssl等。为上千企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的东川网站制作公司
那么y = x-1 跟 y = 2x的结果不是一样么,都是-2啊。。。不要因此得出结论x=-1的时候y=2x
另外,你这个函数如果用if就全用if,如果用if--else-if,就全部这样,不要混合用,很乱。
建议都用if--else if,这样能够看出是一个分段函数。
你的C语言程序中,else if的判断条件都不对,比如在C语言中1=x10应该改成1=xx10以此类推,其它两个也都不对,10=x30,应该改成10=xx30 ,30=x=60应该改成30=xx=60,就对了.
完整的更改后的C语言程序如下(改动的地方见注释)
#includestdio.h
int main()
{
int x,y;
printf("输入x的值:");
scanf("%d",x);
if (x1)
{
y=x;
}
else if (1=x x10) //这里改一下
{
y=2*x-1;
}
else if (10=x x30) //这里改一下
{
y=3*x-1;
}
else if (30=x x=60) //这里改一下
{
y=4*x-2;
}
else
{
y=5*x;
}
printf("y的值为:%d\n",y);
return 0;
}
代码如下所示,
#include
#include
#include
int main()
{
double x, y; // 定义函数的自变量、因变量,考虑到可能有小数的情况,设置数值类型为double型
int getBuff; // 用于最后清空输入缓冲区残留,了解即可
printf("请输入自变量x的值(一个数字):\n");
scanf("%lf",x); // 输入自变量的一个值
if(x-2)
y = 7-2*x;
else if(x=-2 x3)
y = 5 - fabs(3*x+2); // 注意,对浮点型数值取绝对值,要用fabs()函数
else
y = 3*x+4;
printf("自变量x为%lf时,对应的函数值y是:%lf\n",x,y);
while(getBuff=getchar()!='\n' getBuff!=EOF); // 清空输入缓冲区残留,了解即可
printf("按回车键结束...");
getchar();
return 0;
}为了避免手机上查看时,代码版式错乱,代码的截图如下,
如有帮助,烦请采纳,谢谢!