我想问你个问题:你是不是用x = -1测试的??
成都创新互联公司是一家专业提供宿城企业网站建设,专注与网站设计、成都网站设计、HTML5、小程序制作等业务。10年已为宿城众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
那么y = x-1 跟 y = 2x的结果不是一样么,都是-2啊。。。不要因此得出结论x=-1的时候y=2x
另外,你这个函数如果用if就全用if,如果用if--else-if,就全部这样,不要混合用,很乱。
建议都用if--else if,这样能够看出是一个分段函数。
输入语句格式复杂,难以满足之故。
改成:
int x,f=0;
printf("input x:\n");
scanf("%d", x);
即可。
#include "stdio.h"
#include "math.h"
int main(int argc,char *argv[]){
double x,y;
printf("Input x(R:)...\nx=");
scanf("%lf",x);
if(x5)
y=-x+3.5;
else if(x=5 x10)
y=20-3.5*pow(x+3,7);//这里看着像7,是几就把7改成几
else
y=-3.5+sin(x);
printf("y = %g\t(x==%g)\n",y,x);
return 0;
}
运行样例:
帮你改了下代码,VC6测试通过,自己看看吧。
#includestdio.h
int main()
{
float x,y;//根据给定的测试用例,x,y应该为float型
scanf("%f",x);//x为float型,所以改为%f
if(x20)
{
y=x+100;
}
else if(x=20x=100)
{
y=x;
}
else
y=x-100;
printf("x=%f,y=%f\n",x,y);
return 0;//缺少分号
}
#include
int main()
{
int x,y;
scanf("%d",x);
if(0xx10) y=3*x+2;
else
{if(x=0) y=0;
else
{if (x0) y=x*x;
else printf("go die\n");
}
}
printf("%d",y);
return 0;
}该程序的分段函数如下:
f(x)=3x+2 (0x10)
f(x)=1 (x=0)
f(x) = x*x (x0)
#include stdio.h
#include math.h
void main()
{
float x;
double y;
printf("Please input the value of x:");
scanf("%f",x);
if(x=-10x=4)
{
y=fabs(x-2);
printf("y=%.2f\n",y);
}
else if(x=5x=7)
{
y=x+10;
printf("y=%.2f\n",y);
}
else if(x=8x=12)
{
y=pow(x,4);
printf("y=%.2f\n",y);
}
else
printf("No answer\n");
}