調用math.h中的三角函數(shù),需要將角度值變換為弧度值,代碼如下:
創(chuàng)新互聯(lián)公司-專業(yè)網站定制、快速模板網站建設、高性價比和平網站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式和平網站制作公司更省心,省錢,快速模板網站建設找我們,業(yè)務覆蓋和平地區(qū)。費用合理售后完善,十余年實體公司更值得信賴。
#includestdio.h
#includemath.h
#define PI 3.14159265359
int main()
{
float st,a;
scanf("%f",st);
a = st * PI/180;
printf("sin(st)=%f\n", sin(a));
printf("cos(st)=%f\n", cos(a));
return 0;
}
庫函數(shù)就有??!
#includestdio.h
#includemath.h
void main()
{
float a,Sin,Cos,Tan,Cot;
printf("請輸入你要求三角函數(shù)的變量");
scanf("%f" ,a);
Sin=sin(a); //調用庫函數(shù),譚浩強書后面有
Cos=sqrt(1-Sin*Sin);
tan=Sin/Cos;
cot=1/Tan;// 其他的反三角函數(shù)也是調用庫函數(shù)的。你自己搞定吧!
printf("%f,%f,%f,%f" ,Sin,Cos,Tan,Cot);
}
math.h里的三角函數(shù)用的單位是弧度,你貌似錯在這里。 答案補充 Example
/* SINCOS.C: This program displays the sine, hyperbolic
* sine, cosine, and hyperbolic cosine of pi / 2.
*/
#include math.h
#include stdio.h
void main( void )
{
double pi = 3.1415926535;
double x, y;
x = pi / 2;
y = sin( x );
printf( "sin( %f ) = %f\n", x, y );
y = sinh( x );
printf( "sinh( %f ) = %f\n",x, y );
y = cos( x );
printf( "cos( %f ) = %f\n", x, y );
y = cosh( x );
printf( "cosh( %f ) = %f\n",x, y );
} 答案補充 Output
sin( 1.570796 ) = 1.000000
sinh( 1.570796 ) = 2.301299
cos( 1.570796 ) = 0.000000
cosh( 1.570796 ) = 2.509178
Parameter
x
Angle in radians
C語言中的三角函數(shù)計算需要將角度轉弧度,,比如以下代碼是計算sin()的值:
#include"stdio.h"
#include"math.h"
#define PI 3.1415926
main()
{
int i;
float t;
printf("請輸入要計算的角度:");
scanf("%d",i);
t=sin(180*i/PI);
printf("sin(%d)=%f",i,t);
}
#includestdio.h
#includewindows.h
#includemath.h
double EPS=10E-6;
double sum(double a,double b)
{
return a+b;
}
double sub(double a,double b)
{
return a-b;
}
double mul(double a,double b)
{
return a*b;
}
double divv(double a,double b)
{
return a/b;
}
int rem(int a , int b)
{
return a%b;
}
int addnumber(int c,int d)
{
int sum=0;
for(int i=c;i=d;i++)
{
sum+=i;
}
return sum;
}
int factor(int n)
{
int f=1;
for(int i=1;i=n;i++)
{
f*=i;
}
return f;
}
void displaymenu()
{
printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ \n");
printf("*############高級計算器############* \n");
printf("************************************ \n");
printf("* ①加法運算 * \n");
printf("* ②減法運算 * \n");
printf("* ③乘法運算 * \n");
printf("* ④除法運算 * \n");
printf("* ⑤取余運算 * \n");
printf("* ⑥累加運算 * \n");
printf("* ⑦階乘運算 * \n");
printf("* ⊙結束運算 * \n");
printf("************************************ \n");
printf("************************************ \n");
}
void main()
{
int c,d; /*用于做四則運算的兩個數(shù)值的說明*/
double a,b; /*用來做累加函數(shù)的兩個參數(shù)值的說明*/
int intresult;
double result; /*用于保存表單運算中函數(shù)的返回值*/
int choice;
displaymenu();/*保存用戶選擇項目菜單項*/
while(1)
{
printf("請選擇你所進行運算項目的符號:");
scanf("%d",choice);
switch(choice)
{
case 1: /*加法計算*/
printf("請輸入兩個數(shù)字:");
scanf("%lf%lf",a,b);
result=sum(a,b);
printf("%lf+%lf的計算結果是:%lf\n",a,b,result);
break;
case 2: /*減法計算*/
printf("請輸入兩個數(shù)字:");
scanf("%lf%lf",a,b);
result=sub(a,b);
printf("%lf-%lf的計算結果是:%lf\n",a,b,result);
break;
case 3: /*乘法計算*/
printf("請輸入兩個數(shù)字:");
scanf("%lf%lf",a,b);
result=mul(a,b);
printf("%lf*%lf的計算結果是:%lf\n",a,b,result);
break;
case 4: /*除法計算*/
{
scanf("%lf%lf",a,b);
if(b-0.0EPS) printf("數(shù)字錯誤\n");
else
{
printf("請輸入兩個數(shù)字:");
result=divv(a,b);
printf("%lf/%lf的計算結果是:%lf\n",a,b,result);
}
break;
}
case 5: /*取余計算*/
printf("請輸入兩個數(shù)字:");
scanf("%d%d",c,d);
result=rem(c,d);
printf("%d % %d的計算結果是:%d\n",c,d,result);
break;
case 6: /*累加計算*/
printf("請輸入兩個整數(shù)");
scanf("%d%d",c,d);
intresult=addnumber(c,d);
printf("%d-%d的累加計算結果是:%d\n",c,d,intresult);
break;
case 7: //階乘計算
{
printf("請輸入一個大于0小于10的整數(shù)字");
scanf("%d",c);
if(c0||c10)
{
printf("請輸入一個大于0小于10的整數(shù)字,數(shù)據(jù)錯誤。\n");
break;
}
intresult=factor(c);
printf("%d的階乘計算結果是:%d\n",c,intresult);
break;
}
case 0:
printf("謝謝使用。歡迎下次再用。\n");
return ;
default:
printf("選擇錯誤,程序結束\n");
break;
}
}
}
三角函數(shù)直接用庫函數(shù)
#include "math.h"
#include "stdio.h"
void main()
{
char a = ' ';
double i;
printf("請輸入要計算的函數(shù)類型!例如:s(arcsin),c(arccosine),t(arctangent)\n");
scanf("%c",a);
printf("請輸入要計算的值!\n");
scanf("%lf",i);
switch(a)
{
case 's':printf("%lf",asin(i));break;
case 'c':printf("%lf",acos(i));break;
case 't':printf("%lf",atan(i));break;
}
}
C語言的三角函數(shù)庫采用的單位都是弧度,如果要使用角度,就必須轉換,從角度轉換成弧度,或者是重寫一個三角函數(shù)庫。
方法一,在調用三角函數(shù)之前先把角度換算成弧度,調用反三角函數(shù)之后把弧度換算成角度就可以了??梢杂?pi = 4.0 * atan(1) 算出pi,用 a = d /180.0*pi 轉換角度到弧度。
例如: sin(45 /180.0*pi); 就是計算的sin45。
方法二,直接覆寫三角函數(shù)。
例如sin函數(shù):
double dsin(double d){
return sin(45 /180.0*pi); //原理和方法一樣,調用的時候直接使用dsin(45)即可
}
文章名稱:c語言中三角函數(shù)加減,c語言中如何使用三角函數(shù)
文章網址:http://chinadenli.net/article4/heeoie.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網站、品牌網站制作、關鍵詞優(yōu)化、網站維護、企業(yè)網站制作、App設計
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)