#include<iostream>
#include<cmath>
using namespace std;
void main()
{
double x,y,s1,s2;
cout<<"请输入两个角度值:";
cin>>x>>y;
s1=sin(fabs(x)+fabs(y));
s2=sqrt(cos(fabs(x+y)));
cout<<s1<<endl<<s2<<endl;
}
#include
#include
using namespace std;
int main()
{
double x,y,s1,s2;
cout<<"请输入两个角度值:";
cin>>x>>y;
s1=sin(fabs(x)+fabs(y));
cout<<cos(fabs(x+y))<<endl;
s2=sqrt(cos(fabs(x+y)));
cout<<s1<<endl<<s2<<endl;
return 0;
}
把这个代码放进去测试得知,cos(fabs(x+y))求出的是一个负数,对负数开方自然就出错了。
sqrt函数是不能对负数开方的。你cos(fabs(x+y))这个算出来是负数。如果能够帮助你的话,请采纳。
进行sqrt之前应该对cos(fabs(x+y))进行判断
内存溢出的节奏,要符合函数的定义域。不然会出错误的