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;
}
展开
 我来答
松甜恬0Je4ba
2014-04-08 · TA获得超过2.6万个赞
知道大有可为答主
回答量:7475
采纳率:100%
帮助的人:3382万
展开全部
两点:
(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
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式