关闭

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

174人阅读 评论(0) 收藏 举报
分类:
#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);

}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:15893次
    • 积分:577
    • 等级:
    • 排名:千里之外
    • 原创:44篇
    • 转载:1篇
    • 译文:0篇
    • 评论:1条
    最新评论
  • 随机编号!

    jimtrump: 总结:  我们知道rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,...