第十三周实验报告(三)

实验目的:学会使用自定义函数解决实际问题,学会函数的嵌套调用
实验内容:编制一个三角函数表

* 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:                             
* 作    者: 殷华哲                            
* 完成日期:         年       月        日
* 版 本号:         

* 对任务及求解方法的描述部分
* 输入描述:无
* 问题描述:编制一个三角函数表,要求在main()函数中调用show_sin_table(min_angle, max_angle),显示角度值为min_angle到max_angle之间的所有角度(间隔为1度)的正弦值。要求不能用数学库函数,将任务2中的mysin函数拷贝到这个程序中,用于计算sin值。例如show_sin_table(0, 90)可以显示出所有0到90度的正弦值。为取得更好的效果,可以考虑像英尺到米的转换一样,以速查表格的形式给出结果。
* 程序输出:三角函数表

* 问题分析:……

#include <iostream>
#include <iomanip>
using namespace std ;
double show_mysin_table(double);
int main()
{
 int m=0;
 cout<<"角度"<<setw(9)<<"我的sin"<<setw(9)<<"角度"<<setw(9)<<"我的sin"<<endl;
  do
  {
   cout<<setiosflags(ios::left)<<setprecision(2)<<setw(9)<<m<<setw(9)<<show_mysin_table(m);
   m++;
   cout<<setiosflags(ios::left)<<setw(9)<<m<<setw(9)<<show_mysin_table(m)<<endl;
   m++;
  }while(m<=90);
    return 0;
}
double show_mysin_table(double m)
{
 double i=1,j=1,l=1,y,sum=0;
 double pi=3.1415926;
 m=(m/180)*pi;
 y=m;
 do
 {
  if(i==1)
   y=m;
  else
   y=y*m*m;
  sum=sum+(1/j)*y*l;
  j=(i+1)*(i+2)*j;
  i+=2;
  l=-l;
 }while(((1/j)*y)>0.00001);
 return (sum);
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值