手算开方 以及C开方,C计算正切值

手算开方是我们初中时期就学习的知识,以前学习过现在复习下。

以√200 为列

一般我们以前得出的结论是:10 √2

如今以C为列,不可能显示这样的方式,所以要有详细的计算方式,如下:

以个位开始两为为一个断,200=2,00,后面有小数点的部分没计算一位曾加两个0

1.用除法运算,以一个数的平方为主,1*1=1,2*2=4,把200中的2提取出来进行计算,1<2<4 所以选择1,余数为1

2.拿出两个零则被除数为100,最麻烦的就是怎么去定义一个除数,下一位除数总是等会前面的商乘以20+试商,前面的商为1,则除数=(1*20+x)*x

 x代表的是试商,即(1*20+4)*4=96<=100,则试的结果是4,则余数是100-96=4

3.又拿出两个0,则被除数是400,定义一个除数,除数=(14*20+x)*x 试商=(14*20+1)*1,即(14*20+1)*1=281<=400测试结果为1,则余数

 400-281=119,记住14是怎么来的,是前面所有的商

4.又拿出两个0,则被除数是11900,定义一个除数,除数=(141*20+x)*x 试商=(141*20+4)*4,即(14*20+4)*4=281<=11312测试结果为4 

就以截取小数点后面两位,结果=14.14

C的计算方式

#include <stdio.h>
#include <math.h>
#define RAD_TO_DEG (180/(4*atan(1)))  //弧度计算成度的方法
void main(){
         int x=10;
	int y=10;
	double magnitude=0;
	double angle=0;
	magnitude=sqrt(x*x+y*y); //200开方
	angle=RAD_TO_DEG * atan2(x,y); //计算正切值
	printf("%f /t %f",magnitude,angle);
}

 掩饰结果:

 

转载于:https://www.cnblogs.com/yanggm/archive/2013/03/15/2961992.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值