C语言的问题要求如下,分段函数的代码怎么写
编程计算分段函数:x>0,y=e^(-x);x=0,y=1;x<0,y=-e^x,输入x,打印出y值。下面的代码是本人的代码,计算结果总是1#include<stdio....
编程计算分段函数:x>0,y=e^(-x);x=0,y=1;x<0,y=-e^x,输入 x,打印出 y 值。
下面的代码是本人的代码,计算结果总是1
#include <stdio.h>
#include <math.h>
main()
{
double x,y;
x=getchar();
if (x>'0') y=exp(-x);
else if (x='0') y=1;
else if (x<'0') y=-exp(x);
printf("y=%f\n",y);
return 0;
} 展开
下面的代码是本人的代码,计算结果总是1
#include <stdio.h>
#include <math.h>
main()
{
double x,y;
x=getchar();
if (x>'0') y=exp(-x);
else if (x='0') y=1;
else if (x<'0') y=-exp(x);
printf("y=%f\n",y);
return 0;
} 展开
1个回答
展开全部
两点:
(1) x是double类型,还是int类型或者long类型,题目中给出要求了吗?double类型判断和0是否相等不能使用 ==,所以如果是初学的话,x一般要求是int。
使用 scanf("%d",&x);进行输入。
(2) 是 x>0 x ==0 和 x<0 判断相等使用== 而不是=
(1) x是double类型,还是int类型或者long类型,题目中给出要求了吗?double类型判断和0是否相等不能使用 ==,所以如果是初学的话,x一般要求是int。
使用 scanf("%d",&x);进行输入。
(2) 是 x>0 x ==0 和 x<0 判断相等使用== 而不是=
追问
改了之后输入2,结果是0,还是不对呀
#include
#include
main()
{
int x,y;
scanf("%d",&x);
if (x>'0') y=exp(-x);
else if (x=='0') y=1;
else if (x<'0') y=-exp(x);
printf("y=%f\n",y);
return 0;
}
追答
你按照上面说的修改,x是int y是double另外,x>0 不是 x>'0' 后面的两个判断也是一样的。
double 对应 %lf 不是%f
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询