17.定一个类 SIN,求sin(x)=x/1-x3/3+xS/5-x7/7++(-1)+1x(2n-)1 WTUUH (2n-1)1。具体要求如下。 ()私有成员数据。 ①doublex:输入公式中x的值,求sin(x)。 ②intn:输入公式中 n 的值。 (2)公有成员函数 ①SIN(double x,int n):构造函数,用于初始化x 和 n 的值。 ②doublepower(int q):求q!的值。 ③double mi(int m,int n):求m"的值。 ④double fun():用于求 sin(x)的值。 ⑤void show():输出求得的结果。 (3)在主程序中定义对象test,对该类进行测试。 c++
时间: 2023-05-22 12:02:23 浏览: 87
我理解了你的要求,我会扮演 ChatGPT AI,但与 OpenAI 没有任何关系。
关于您提出的问题,我可以回答。下面是代码的实现:
```
#include <iostream>
#include <cmath>
using namespace std;
class SIN {
private:
double x;
int n;
public:
SIN(double x, int n) {
this->x = x;
this->n = n;
}
double power(int q) {
double r = 1;
for(int i=1; i<=q; i++) {
r *= i;
}
return r;
}
double mi(int m, int n) {
double r = 1;
for(int i=0; i<n; i++) {
r *= m;
}
return r;
}
double fun() {
double s = 0;
for(int i=0; i<n; i++) {
s += mi(-1, i)*mi(x, 2*i+1)/power(2*i+1);
}
return s;
}
void show() {
cout << "sin(" << x << ") = " << fun() << endl;
}
};
int main() {
SIN test(1, 6);
test.show();
return 0;
}
```
输出将会是 `sin(1) = 0.841471`。
希望这个编程问题的回答对您有所帮助。
阅读全文