这是高中必修一的书上原文。
根据流程图我们可以写出写出sin的三角函数表。不难发现实现这个表格的制作需要用到算数平方根那我们就要引入头文件
#include <bits/stdc++.h>
用于之后开根运算。
写出框架后就要开始了。
在main函数中定义s0。要求高精度则用double。即:
double s0 = 0.000290888;
然后定义c0:
double c0 = sqrt(1-s0*s0);
此时输出s0的值:
cout << "sin(0º1') ≈ " << s0 << endl;
定义s和c
double s = s0;
double c = c0;
再写for循环(注意变量的初始值要用2边界值不超过5400)
用诱导公式得以下式子:
s = s * c0 + c * s0;
c = sqrt(1-s*s);
最后输出s的值
经改良后完整代码:
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main()
{
double s0 = 0.000290888;
double c0 = sqrt(1-s0*s0);
cout << "sin(0º1') ≈ " << s0 << endl;
double s = s0;
double c = c0;
int m = 0;
int n = 0;
for(int i = 2; i <= 5400; i++)
{
n += 1;
if (i % 60 == 0)
{
n = 0;
};
if (n % 60 == 0)
{
m += 1;
};
s = s * c0 + c * s0;
c = sqrt(1-s*s);
cout << "sin("<< m << "º" << n << "')" << " ≈ " << s << endl;
};
return 0;
}
到此就结束了。
注:我是新人有什么建议请指教