c语言计算sinx并输出,c语言sinx实验报告.doc

c语言sinx实验报告

实验题目

C语言基本控制结构

实验时间

2014 年 3月 27日

实验地点

DZ1402

实验成绩

实验性质

□验证性 √设计性 □综合性

教师评价:

□算法/实验过程正确; □源程序/实验内容提交 □程序结构/实验步骤合理;

□实验结果正确; □语法、语义正确; □报告规范;

其他:

评价教师签名:

一、实验目的

1.熟练掌握使用if语句进行单、双分支结构程序设计的基本方法

2.熟练掌握条件运算符的使用方法

3.熟练掌握使用switch语句进行多分支结构程序设计的基本方法

4.熟练掌握使用if语句的嵌套进行多分支结构程序设计的基本方法

5.掌握程序设计中循环的基本概念,能正确掌握while、do-while和for三种语句组成循环结构的基本方法

6.掌握使用多重循环控制结构

二、实验项目内容(实验题目)

编程序实现功能:按照下面的通项公式计算,直到最后一项的绝对值小于10-7为止。

⑴ 输入数据以度数为单位,转换为弧度进行计算;

⑵ 分别输入30度、390度、1110度和1830度进行验证,并记录输出结果;

⑶ 分析输出结果,判定程序是否存在问题。如程序存在问题,给出修改意见(或修改程序满足要求)。

三、源程序(实验过程或算法)

#include

#include

#define PI 3.1415926

void main()

{ double x,sinv,f;

int n;

printf("请输入度数:");

scanf("%lf",&x);

while(x>360)

{x=x-360;}

x=x*PI/180;

n=1;

sinv=f=x;

while(1)

{ if (fabs(f)<1e-7)

break;

f=-f*x*x/(2*n*(2*n+1));

n++;

sinv+=f;

}

printf("sinv=%lf\n",sinv);

}

四、源程序调试过程和(或)实验分析

1. 输入数据以度数为单位,转换为弧度进行计算:

X=x*3.1415925/180

2. 经过调试,源程序无问题。

在第一次实验时发现输入不同数据,部分所得值sinv

更正后,发现所得值不准确,且误差较大。检查后发现n++;位置摆放错误,我将该步骤放在了f=-f*x*x/(2*n*(2*n+1));前面,应在其之后。

之后验证要求验证的四个数据中1830°误差大于1e-7,如图得到sin1830°=0.499617

后我验证更大度数时,程序出错。

验证7230°时得到如上图数据,多次检查,没发现错误。我便怀疑是否是数据过大,不准确。后添加了【while(x>360){x=x-360;}】,验证正确,此乃问题一。

检查无误后,验证过程及正确结果见下图:

sin30°=0.500000

Sin390°=0.500000

Sin1110°=0.500000

Sin1830°=0.500000

通过这次试验,我较好的掌握了if语句单分支结构程序设计的基本方法,掌握了循环语句的使用。也增加了我对程序设计技术的兴趣与热情。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值