JimYM的博客

练习场,学习学博客,学习写总结

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

#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);

}

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jimtrump/article/details/51559648
上一篇计算机网络基础知识总结
下一篇C++ 用利用函数求 m,n的最大公约数
想对作者说点什么? 我来说一句

C++写的三角函数

2011年11月21日 308B 下载

没有更多推荐了,返回首页

关闭
关闭