c語言intan
❶ c語言 怎麼做tan(a) 只要這一句就行了,不要給一大串代碼
注意:要用double類型,不然會得到錯誤的結果。
#include <stdio.h>
#include <math.h>
#define pi 3.1415926
void main()
{
printf("%f\n",tan(double(45)/double(180)*pi));
printf("%f\n",atan(1)*double(180)/pi);
}
❷ c語言高手來看看~~~!!!
樓主的運行結果是沒錯的,我和你的結果是一樣的。
我的解答:
方向鍵沒有ASCII碼。
方向鍵不是單個字元,是組合的,不同於字母和數字之類的鍵,按一個鍵,得兩個字元信號,所以如果要獲取的時候要用2個getchar()。
樓主你肯定沒有注意看幫助文檔。
getch
functions
read
a
single
character
from
the
console
without
echoing
the
character.
Cant'b
be
used
to
read
CTRL+C.When
reading
a
function
key
or
an
arrow
key,
each
function
must
be
called
twice;
the
first
call
returns
0
or
0xE0,
and
the
second
call
returns
the
actual
key
code.
如果看不懂,可以給你翻譯一下。
getch函數從控制台讀取未編碼的單個字元。不能讀取到ctrl+c組合鍵。在讀取一個功能鍵或者箭頭(方向)鍵盤時,函數會返回兩次,第一次調用返回0或者0xE0,第二次調用返回實際的鍵值。
你輸入上下左右
結果中
都會先顯示一個-32再顯示實際鍵值
這里-32就是0XE0的有符號形式
如果你將你程序中的c定義為unsigned
char類型
則會輸出
224(也就是0XE0)72;
正確代碼如下
void
main()
{
unsigned
char
key;
key
=
getch();
if(
key
==
0
||
key
==
0xE0
)
{
key
=
getch();//如果是組合鍵或方向鍵則需在接受一次
}
printf(
"%d
",
key);
}
關鍵就是一個問題:方向鍵相當於一個組合鍵不是單一字元
❸ C語言中角度怎麼表示,我的角度有度有分有秒,怎麼寫啊還有就是cot和tan在C語言里是怎麼表示的
你找C函數庫。用的是弧度製表示。應該也可以用角度制。時間長了,記不清了。
❹ c語言編程中的三角函數怎麼輸入
開頭必須有一個數學函數庫#include<math.h>
然後一般常用的
sin(x)
cos(x)
tan(x)
其中的x必須要以弧度為單位。如果以「度」為單位,比如說求30度的正弦值,要用
sin(x*180/3.1415926)的形式
arcsin(x)
arccos(x)
arctan(x)
arccot(x)
以上四個則是相應的反三角函數,函數值的單位也是弧度。若要求arctan(1)的度數,要用以下的形式:arctan(1)*180/3.1415926
(4)c語言intan擴展閱讀
C語言的三角函數庫採用的單位都是弧度,如果要使用角度,就必須轉換,從角度轉換成弧度,或者是重寫一個三角函數庫。
在調用三角函數之前先把角度換算成弧度,調用反三角函數之後把弧度換算成角度就可以了。可以用 pi = 4.0 * atan(1) 算出pi,用 a = d /180.0*pi 轉換角度到弧度。
例如: sin(45 /180.0*pi); 就是計算的sin45。
❺ c語言函數與指針;實現sin,cos,tan的求值
這個需要用函數指針實現.
這幾個函數都是 double sin(double)的形式, 所以函數指針為 double(*pfun)(double)
於是 結果如下:
#include<math.h>
doubleexecute(doublex,double(*func)(double))
{
doubletemp;
temp=0;//這里的temp沒有實際作用.
return((*func)(x));
}
main()
{
double(*function[3])(double);
doublex=1;
inti;
function[0]=sin;
function[1]=cos;
function[2]=tan;
for(i=0;i<3;i++)
printf("funcNo:%d---%f ",i+1,execute(x,function[i]));
}
❻ 關於C語言標准函數
C語言編譯系統提供了眾多的預定義庫函數和宏。用戶在編寫程序時,可以直接調用這些庫函數和宏。這里選擇了初學者常用的一些庫函數,簡單介紹了各函數的用法和所在的頭文件。
1.測試函數
Isalnum
原型:int isalnum(int c)
功能:測試參數c是否為字母或數字:是則返回非零;否則返回零
頭文件:ctype.h
Isapha
原型:int isapha(int c)
功能:測試參數c是否為字母:是則返回非零;否則返回零
頭文件:ctype.h
Isascii
原型:int isascii(int c)
功能:測試參數c是否為ASCII碼(0x00~0x7F):是則返回非零;否則返回零
頭文件:ctype.h
Iscntrl
原型:int iscntrl(int c)
功能:測試參數c是否為控制字元(0x00~0x1F、0x7F):是則返回非零;否則返回零
頭文件:ctype.h
Isdigit
原型:int isdigit(int c)
功能:測試參數c是否為數字:是則返回非零;否則返回零。
頭文件:ctype.h
Isgraph
原型:int isgraph(int c)
功能:測試參數c是否為可列印字元(0x21~0x7E):是則返回非零;否則返回零
頭文件:ctype.h
Islower
原型:int islower(int c)
功能:測試參數c是否為小寫字母:是則返回非零;否則返回零
頭文件:ctype.h
Isprint
原型:int isprint(int c)
功能:測試參數c是否為可列印字元(含空格符0x20~0x7E):是則返回非零;否則返回零
頭文件:ctype.h
Ispunct
原型:int ispunct(int c)
功能:測試參數c是否為標點符號:是則返回非零;否則返回零
頭文件:ctype.h
Isupper
原型:int isupper(inr c)
功能:測試參數c是否為大寫字母:是則返回非零;否則返回零
Isxdigit
原型:int isxdigit(int c)
功能:測試參數c是否為十六進制數:是則返回非零;否則返回零
2.數學函數
abs
原型:int abs(int i)
功能:返回整數型參數i的絕對值
頭文件:stdlib.h,math.h
acos
原型:double acos(double x)
功能:返回雙精度參數x的反餘弦三角函數值
頭文件:math.h
asin
原型:double asin(double x)
功能:返回雙精度參數x的反正弦三角函數值
頭文件:math.h
atan
原型:double atan(double x)
功能:返回雙精度參數的反正切三角函數值
頭文件:math.h
atan2
原型:double atan2(double y,double x)
功能:返回雙精度參數y和x由式y/x所計算的反正切三角函數值
頭文件:math.h
cabs
原型:double cabs(struct complex znum)
功能:返回一個雙精度數,為計算出復數znum的絕對值。Complex的結構模式在math.h中給出定義,其定義如下:
struct complex {
double a,y
};
頭文件:stdlib.h,math.h
ceil
原型:double ceil(double x)
功能:返回不小於參數x的最小整數
頭文件:math.h
_clear87
原型:unsigned int _clear87(void)
功能:清除浮點運算器狀態字
頭文件:float.h
_control87
原型:unsigned int _control87(unsigned int newvals,unsigned int mask)
功能:取得或改變浮點運算器控制字
頭文件:float.h
cos
原型:double cos(double x)
功能:返回參數x的餘弦函數值
頭文件:math.h
cosh
原型:double cosh(double x)
功能:返回參數的雙曲線餘弦函數值
頭文件:math.h
ecvt
原型:char*ecvt(double value,int ndigit,int*decpt,int*sign)
功能:把雙精度數value轉換為ndigit位數字的以空格字元結束的字元串,decpt指向小數點位置,sign為符號標志。函數返回值為指向轉換後的字元串的指針
頭文件:stdlib.h
exp
原型:double exp(double x)
功能:返回參數x的指數函數值
頭文件:math.h
fabs
原型:double fabs(double x)
功能:返回參數x的絕對值
頭文件:math.h
floor
原型:double floor(double x)
功能:返回不大於參數x的最大整數
頭文件:math.h
fmod
原型:double fmod(double x,double y)
功能:計算x/y的余數。返回值為所求的余數值
頭文件:math.h
_fprest
原型:void _fprest(void)
功能:重新初始化浮點型數數學包
頭文件:float.h
frexp
原型:double frexp(double value,int*eptr)
功能:把雙精度函數value分解成尾數和指數。函數返回尾數值,指數值存放在eptr所指的單元中
頭文件:math.h
hypot
原型:double frexp(double x,double y)
功能:返回由參數x和y所計算的直角三角形的斜邊長
頭文件:math.h
labs
原型:long labs(long n)
功能:返回長整數型參數n的絕對值
頭文件:stdlib.h
ldexp
原型:double ldexp(double value,int exp)
功能:返回value*2exp的值
頭文件:math.h
log
原型:double log(double x)
功能:返回參數x的自然對數(ln x)的值
頭文件:math.h
log10
原型:double log10(double x)
功能:返回參數x以10為底的自然對數(lg x)的值
頭文件:math.h
modf
原型:double modf(double value,double*iptr)
功能:把雙精度數value分為整數部分和小數部分。整數部分保存在iptr中,小數部分作為函數的返回值
頭文件:math.h
poly
原型 :double poly(double x,int n,double c[ ])
功能:根據參數產生x的一個n次多項式,其系數為 c[0],c[1],…c[n]。函數返回值為給定x的多項式的值
頭文件:math.h
pow
原型:double pow(double x,double y)
功能:返回計算xy的值
頭文件:math.h
pow10
原型:double pow10(int p)
功能:返回計算10p的值
頭文件:math.h
rand
原型:int rand(void)
功能:隨機函數,返回一個范圍在0~215-1的隨機整數
頭文件:stdlib.h
sin
原型:double sin(double x)
功能:返回參數x的正弦函數值
頭文件:math.h
sinh
原型double sinh(double x)
功能:返回參數x的雙曲正弦函數值
頭文件:math.h
sqrt
原型:double sqrt
功能:返回參數x的平方根值
頭文件:math.h
srand
原型:void srand(unsigned seed)
功能:初始化隨機函數發生器
頭文件:stdlib.h
_status87
原型:unsigned int_status87()
功能:取浮點狀態
頭文件:float.h
tan
原型:dounle tan(double x)
功能:返回參數x的正切函數值
頭文件:math.h
tanh
原型:double tan(double x)
功能:返回參數x的雙曲正切函數值
頭文件:math.h
❼ 用C語言表示反正弦,反餘弦,反正切函數
計算反正切函數(使用歐拉變換公式,精度很高),反正切函數的級數展開公式:
f(x) = x - x^3/3 + x^5/5 +...+ (-1)^k * x^(2k+1)/(2k + 1)+...
當|x| > 1時,級數絕對值發散,無法直接使用歐拉公式計算。因此可以通過下面的公式
進行等價轉換之後再進行計算。
等價轉換公式:
a) ATan(1/x) = Pi/2 - ATan(x)
b) ATan(-x) = - ATan(x)
特殊情況
0 = ArcTan(0)
Pi/2 = ArcTan(無窮大)
//
// 歐拉公式
//
// sum是和,term是通項值,jterm初始為1,以後按1遞增。wrksp是工作單元,視jterm的
// 最大值而定。
//
void eulsum(int& nterm,double *sum,double term,int jterm,double wrksp[])
{
double tmp,m;
if(jterm == 1)
{
nterm = 1;
wrksp[1] = term;
*sum = 0.5 * term;
}
else
{
tmp = wrksp[1];
wrksp[1] = term;
for(int j=1; j <= nterm; j++)
{
m = wrksp[j+1];
wrksp[j+1] = 0.5 * (wrksp[j] + tmp);
tmp = m;
}
if(fabs(wrksp[nterm + 1]) <= fabs(wrksp[nterm]))
{
*sum = *sum + 0.5 * wrksp[nterm + 1];
nterm = nterm + 1;
}
else
{
*sum = *sum + wrksp[nterm + 1];
}
}
}
級數計算就不用我給代碼了吧。
❽ c語言中tan函數的用法
設AB=BD=DE=EC=1
則BC=1+1+1=3
tan角AEB=1/2,tan角ACB=1/3
由公式tan(a+b)=(tana+tanb)/(1-tanatanb)得
tan(角AEB+角ACB)
=(1/2+1/3)/(1-(1/2)×(1/3))
=(5/6)/(5/6)
=1
所以角AEB+角ACB=45度。
(8)c語言intan擴展閱讀:
建立了半徑與圓周的度量單位以後,希帕克和托勒密先著手計算一些特殊圓弧所對應的弦長。比如 60°弧(1/6圓周長)所對的弦長,正好是內接正六邊形的邊長,它與半徑相等,因此得出60°弧對應的弦值是60個半徑單位(半徑長的1/60為一個單位)。
用同樣的方法,可以算出120°弧、90°弧以及72°弧所對應的弦值。有了這些弧所對應的弦值,接著就利用所稱的」托勒密定理」,來推算兩條已知所對弦長的弧的」和」與」差」所對的弦長。
以及由一條弧所對的弦長來計算這條弧的一半所對的弦長。正是基於這樣一種幾何上的推算。他們終於造出了世界上第一張弦表。
❾ c語言中tan函數的用法
tan()
函數用來求給定值的正切值,其原型為:
double
tan(double
x);
【參數】x
為給定的弧度值。
【返回值】返回
x
的正切值。
注意,使用
GCC
編譯時請加入-lm。
請看下面的代碼:
#include
<math.h>
main(){
double
answer
=
tan(0.5);
printf("tan(0.5)
=
%f\n",
answer);
}
輸出結果:
tan(0.5)
=
0.546302