您的位置:首页 > 编程语言 > C语言/C++

C++ 利用函数, 制作一个三角函数表

2016-06-01 22:26 351 查看
#include"stdlib.h"
#include<iostream>
#include<iomanip>
using namespace std;
double mysin(double);
double myabs(double);
void show_sin_table(int, int);
const double  pi = 3.1415926;

int main()
{
show_sin_table(0, 90);
system("pause");
return 0;

}

// 定义 show_sin_table () 函数

void show_sin_table(int iFromAngle, int iToAngle)
{
int x, count = 0;
std::cout << " 到" << iFromAngle << iToAngle << "的三角函数表" << endl;
std::cout << setiosflags(ios::fixed) << setiosflags(ios::right) << setprecision(3);

for (x = 0; x < 3; x++)
std::cout << setw(8) << "角度" << setw(8) << "sin(x)";
std::cout << endl;
// 逐个地方转换并输出
for (x = iFromAngle; x <= iToAngle; x++)
{
cout << setw(8) << x << setw(8);
cout << mysin(x*pi / 180);
if (count % 3 == 2)   cout << endl;
++count;
}
cout << endl;
return ;
}

// 下面定义 mysin 函数
double mysin(double x)
{
double sum = x, x_pow = x, item;
int n = 1, fact = 1, sign = 1;
do
{
fact = fact*(n + 1)*(n + 2);        // fact用于 表示阶乘,在公式作分母
x_pow *= x*x;          //         x_pow是分子中用于表示阶乘的
sign = -sign;                         // 确定  累加项的符号
item = x_pow / fact*sign;  //计算要累加的项
sum += item;
n += 2;
} while (myabs(item) > 1e-5);

return sum;

}

//下面定义myabs函数
double myabs(double x)
{
return ((x >= 0) ? x : -x);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: