要实现:<1> 求解下面函数的值。
ex+y 【e的(x+y)次方】 x<0,y<0
z= ln(x+y) 1≤x+y〈10
log10|x+y|+1 其它情况
我的代码:
#include<iostream>
#include<math.h>
using namespace std;
int main() {
double x, y, z;
cout << "请分别输入x,y的值:" << endl;
cin >> x >> y;
if (x<0&&y<0)
z = exp(x + y);
if (x + y >= 1 && x + y < 10)
z = log(x + y);
else
z = log10(fabs(x + y)+1);
cout << "函数值为:" << z << endl;
return 0;
}
问:代码哪里出错了?简单测试了一下,就是当x和y都小于0时算的有问题,但不知道错在哪,
求大佬指点,谢谢
湖北网友:你思维不行
第二个if前面请加个else谢谢
吉林网友:的确把,才刚刚学的C++,也没啥基础,大佬能说下问题出在哪吗
浙江网友:前边大佬说了,要加个else,按你现在的代码,x y 都小于0的时候,最后那个else也满足条件,被执行了。
四川网友:知道了多谢,其实在写的时候自己也在想 “不是说else与if一一对应嘛“ 最后发现可以写出来就没管了
湖南网友:这些都是基本语法啊,我建议你还是学其他语言简单点
重庆网友:PHP是世界上最好的语言
上海网友:逻辑有点乱啊。。