c語言手算開方 以及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);
}


 掩飾結果:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章