C++第12周项目6扩展——三角函数表

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565

【项目6扩展(选做)-编制三角函数表】

  要求在main()函数中调用show_sin_table(min_angle, max_angle),显示角度值为min_angle到max_angle之间的所有角度(间隔为1度)的正弦值。要求不能用数学库函数,将项目6中的mysin函数拷贝到这个程序中,用于计算sin值。例如show_sin_table(0, 90)可以显示出所有0到90度的正弦值。为取得更好的效果,可以考虑像英尺到米的转换一样,以速查表格的形式给出结果。、

参考解答:

#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);
	//show_sin_table(135, 180);  //程序在显示这部分时进入了死循环,原因待查
	return 0;
}
//下面定义show_sin_table()函数
void show_sin_table(int iFromAngle, int iToAngle)
{
	int x,count=0;
	cout<<"由"<<iFromAngle<<"°到"<<iToAngle<<"°的三角函数表: "<<endl;
    cout<<setiosflags(ios::fixed)<<setiosflags(ios::right)<<setprecision(3);
	for(x=0; x<3;x++)
		cout<<setw(8)<<" 角度x"<<setw(8)<< "  sin(x)";
    cout<<"\n";
	//逐个地转换并输出
	for(x=iFromAngle;x<=iToAngle; x++)
	{
		cout<<setw(8)<<x<<setw(8);
		cout<<mysin(x*pi/180);
        if (count%3==2)cout<<"\n";
		++count;
	}
	cout<<"\n";
	return;
}

//下面定义mysin函数
double mysin(double x)
{
    double sum=x,x_pow=x,item;
    int n=1,fact=1,sign=1;     //定义变量时赋初值,已经将第一项考虑到累加和sum中
    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);
}

  

时间: 2024-09-02 13:42:19

C++第12周项目6扩展——三角函数表的相关文章

C++第12周项目5扩展——求组合数

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 [项目5拓展-求组合数] 求组合数公式为: 编一程序,输入m和n的值,求组合数.要求分别定义求阶乘和求组合的函数,求组合数的函数调用求阶乘的函数来实现求解,在main()函数中,负责输入输出及调用求组合数的函数. 参考解答: #include<iostream> using namespace std; int fact(int); int main() { int m

2013级C++第12周项目——函数应用

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759 [项目1-当年第几天] 定义一个函数,其参数为年.月.日的值,返回这一天为该年的第几天.要求在main函数中输入年月日,然后调用这个函数求值,并在main函数中输出结果. [项目2-太乐了]先听故事,再编程序. 故事是这样的:话说sin和cos是一对夫妇.一天,sin去听相声了,cos在家.过了一会,有人敲门,cos开门一看,是一个不认识的多项式函数.cos问:你是谁啊?

C++第13周项目2扩展——最大公约数

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 [项目2扩展--最大公约数] 分别用非递归函数和递归函数,用辗转相除法求两个正整数a和b的最大公约数,并体会迭代法和递归法在处理问题上各自的思路. 参考解答: //迭代解法 #include "iostream" using namespace std; int gcd(int x, int y); void main() { int m,n; cout<

C++第15周项目4扩展——带姓名的多科成绩单

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 [项目4-多科成绩单]用二维数组score[][4]保存同学们的高数.英语.C++成绩及总成绩(在此假设学生的学号为整型的连续值,用数组的行下标作学号).在此基础上,完成下面的操作:(1)设计输入成绩的函数,输入3科成绩后可以自动求出总分,并将数据全保存到数组中:(2)输出各门课及总分的最高成绩.最低成绩.平均成绩和成绩的标准偏差:(3)输出考得总分最高.最低同学的人数及

C++第10周项目5扩展参考——在北京买房

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 [项目5扩展:在北京买房]现在北京有一套房子,价格200万,假设房价每年上涨10%,一个软件工程师每年固定能赚40万.如果他想买这套房子,不贷款,不涨工资,没有其他收入,每年不吃不喝不消费,那么他需要几年才能攒够钱买这套房子?  参考解答: #include <iostream> using namespace std; int main( ) { double hou

C++第10周项目1扩展参考——求和

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 [项目1扩展(选做)]从键盘输入20个整数,输出它们的和. //用for循环完成,其他循环自行完成 #include <iostream> using namespace std; int main( ) { int sum=0,i,n; for(i=0;i<20;++i) { cin>>n; sum+=n; } cout<<"s

C++第10周项目3扩展参考——英尺到米的转换表

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 [项目3扩展(选做)]编程序生成一张从英尺到米的转换表(1米大约等于3.28英尺),以方便工厂里工人师傅使用.输出形式如下图所示,罗列了从0英尺到99英尺对应的米数,即第i行第j列的值vij代表i*10+j英尺对应的米数.例如,通过下图所示,我们可以方便地查到17英尺相当于5.18米.只输出内容即可,不用考虑表格线. 提示:每输出10英尺的转换表后,另起一行输出.为使输出

2014秋C++ 第12周项目 C++函数新特征与递归函数

课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂"贺老师课堂"同步展示,使用的帐号请到课程主页中查看.  [项目1- 阅读程序]阅读下列程序,写出程序的运行结果.上机时运行程序,与你的预期进行对照.理解.如果对运行结果和其背后的原理仍不理解,请通过单步执行的手段跟踪理解.(1)阅读下面两个有静态局部变量的程序,阅读中画出其中各变量的变化过程,以掌握静态变量的存储特征,对照实际运行结果检验学习成果

C++第15周项目1扩展1 -数组类

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/9018813 [项目1-扩展1]建立专门的数组类处理有关数组的操作项目1情况见:http://blog.csdn.net/sxhelijian/article/details/9052881 要求:在MyArray基础上增加下面的成员或友元函数,扩充MyArra