编写sin(x)+cos(x)+1/tan(x)的程序,用c++
时间: 2024-10-11 08:08:02 浏览: 25
在C++中,编写一个函数来计算sin(x) + cos(x) + 1/tan(x),我们需要引入`cmath`库提供三角函数,并处理可能出现的除数为零的情况。下面是一个简单的示例:
```cpp
#include <iostream>
#include <cmath>
#include <stdexcept>
// 定义辅助函数,用于检查输入是否允许计算
double safeTan(double x) {
if (std::abs(x) > M_PI / 2) {
throw std::invalid_argument("Input angle is out of valid range for tan.");
}
return tan(x);
}
// 主要函数,计算并返回结果
double calculateExpression(double x) {
try {
double sinX = sin(x);
double cosX = cos(x);
double tanX = safeTan(x); // 防止除以零错误
return sinX + cosX + 1 / tanX;
} catch (const std::invalid_argument& e) {
std::cerr << "Error: " << e.what() << std::endl;
return std::numeric_limits<double>::quiet_NaN(); // 返回NaN表示无法计算
}
}
int main() {
double inputAngle;
std::cout << "Enter an angle in radians: ";
std::cin >> inputAngle;
double result = calculateExpression(inputAngle);
if (!std::isnan(result)) {
std::cout << "The expression value is: " << result << std::endl;
}
return 0;
}
```
阅读全文