常用數(shù)學(xué)函數(shù)
創(chuàng)新互聯(lián)公司一直秉承“誠信做人,踏實做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個客戶多一個朋友!為您提供成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、成都網(wǎng)頁設(shè)計、小程序開發(fā)、成都網(wǎng)站開發(fā)、成都網(wǎng)站制作、成都軟件開發(fā)、APP應(yīng)用開發(fā)是成都本地專業(yè)的網(wǎng)站建設(shè)和網(wǎng)站設(shè)計公司,等你一起來見證!
C語言系統(tǒng)提供了400多個標(biāo)準(zhǔn)函數(shù)(稱為庫函數(shù)),設(shè)計程序時可以直接使用它們。
庫函數(shù)主要包括數(shù)學(xué)函數(shù)、字符處理函數(shù)、類型轉(zhuǎn)換函數(shù)、文件管理函數(shù)及內(nèi)存管理
函數(shù)等幾類。下面介紹常用的數(shù)學(xué)函數(shù),其他類型的函數(shù)將在后面章節(jié)中陸續(xù)介紹。
1.函數(shù)名:abs
原型:int?abs(int?i);
功能:求整數(shù)的絕對值。
例如,設(shè)x=abs(5),y=abs(–5),z=abs(0),則x=5,y=5,z=0。
2.函數(shù)名:labs
原型:long?labs(long?n);
功能:求長整型數(shù)的絕對值。
例如,設(shè)x=labs(40000L),y=labs(–5),z=labs(0),則x=40000,y=5,z=0。
3.函數(shù)名:fabs
原型:double?fabs(double?x);
功能:求實數(shù)的絕對值。
例如,設(shè)x=fabs(5.3),y=fabs(–5.3),z=fabs(0),則x=5.3,y=5.3,z=0。
4.函數(shù)名:floor
原型:double?floor(double?x);
功能:求不大于x的最大整數(shù),它相當(dāng)于數(shù)學(xué)函數(shù)[x]。
例如,設(shè)x=floor(–5.1),y=floor(5.9),z=floor(5),則x=?–6,y=5,z=5。
5.函數(shù)名:ceil
原型:double?ceil(double?x);
功能:求不小于x的最小整數(shù)。
例如,設(shè)x=ceil(–5.9),y=ceil(5.1),z=ceil(5),則x?=?–5,y=6,z=5
6.函數(shù)名:sqrt
原型:double?sqrt(double?x);
功能:求x的平方根。
例如,設(shè)x=sqrt(4),y=sqrt(16),則x=1.414214,y=4.0
7.函數(shù)名:log10
原型:double?log10(double?x);
功能:求x的常用對數(shù)。
8.函數(shù)名:log
原型:double?log(double?x);
功能:求x的自然對數(shù)。
9.函數(shù)名:exp
原型:double?exp(double?x);
功能:求歐拉常數(shù)e的x次方。
10.函數(shù)名:pow10
原型:double?pow10(int?p);
功能:求10的p次方。
例如,設(shè)x=pow10(3),y=pow10(0),則x=1000,y=1
11.函數(shù)名:pow
原型:double?pow(double?x,?double?y);
功能:求x的y次方。
例如,設(shè)x=pow(3,2),y=pow(–3,2),則x=9,y=9
12.函數(shù)名:sin
原型:double?sin(double?x);
功能:正弦函數(shù)。
13.函數(shù)名:cos
原型:double?cos(double?x);
功能:余弦函數(shù)。
14.函數(shù)名:tan
原型:double?tan(double?x);
功能:正切函數(shù)。
指數(shù)表示有兩種方法:
1、使用關(guān)鍵字e,如 5e10表示5*10^10,5e-5表示1*10^(-5)=0.00001。
優(yōu)點是簡單明了,和科學(xué)記數(shù)法類似;缺點是只能表示10為底的指數(shù)。
2、使用指數(shù)函數(shù)pow。使用范圍比e廣得多,任意浮點數(shù)為底數(shù)和指數(shù)。
原型為double pow( double x, double y );
頭文件:math.h
功能:計算x的y次冪。
返回值:x不能為負數(shù)且y為小數(shù),或者x為0且y小于等于0,返回冪指數(shù)的結(jié)果。
返回類型:double型,int,float會給與警告!
舉例:
#includemath.h
#includestdio.h
int?main(){
double?x?=2.0,y=3.0;
printf("%lfraisedto%lfis%lf\n",x,y,pow(x,y));
return?0;
}
C里面函數(shù)原型是double pow(double,double),需要包含math.h.
C++里面推薦這樣用(包含ISO C++從C繼承的數(shù)學(xué)函數(shù)庫,但頭文件不帶.h擴展名且前面加c,需要用namespace std,函數(shù)原型與C中相同):
#include
//添加需要包含的頭文件...
using namespace std;
int main()
{
double d,a=2,b=3;
d=pow(a,b);
//d=a^b
//添加代碼...
return 0;
}
另外如果使用底數(shù)為e,可以用double exp(double),用法與以上類似
#includestdio.h
void maopao(int *a);
void find(int *a);
int main(){
int array[12] = {96,35,12,58,78,90,587,21,0,-65,106,52};
find(array);
maopao(array);
}
void maopao(int *a){
int i,j,n=12,t;
for(i=0;i=n;i++){
for( j=0;jn-i-1;j++)
if(*(a+j)*(a+j+1)){
t=*(a+j);
*(a+j)=*(a+j+1);
*(a+j+1)=t;
}
}
for(i=0;in;i++)
printf("%d ",*(a+i));
}
void find(int *a){
int flag=0,i,n=12;
for(i=0;in;i++){
if(*(a+i)==90){
flag=i;
}
}
if(flag!=0) printf("90在數(shù)組中,是array[%d]的值\n",flag);
else printf("90不在數(shù)組array中\(zhòng)n");
}
ps.因為題目并沒有表述清楚,所以我是先調(diào)用尋找90,再排序,如不符合題意調(diào)換函數(shù)調(diào)用先后次序即可。
有不懂的地方可以再問我哦
#include?stdio.h
#include?math.h
double?exp(double?x)?{
double?sum?=?0;
double?term?=?1;
double?index?=?1;
while?(fabs(term)?=?1e-6)?{
sum?=?sum?+?term;
term?=?term?*?x?/?index;
index?=?index?+?1;
}
return?sum;
}
int?main()?{
char?c;
double?x;
while?(scanf("?%c",?c)?==?1)?{
if?(c?==?'#')?break;
ungetc(c,?stdin);
scanf("%lf",?x);
printf("e(%.3lf)?=?%.5lf\n",?x,?exp(x));
}
}
c里面函數(shù)原型是double
pow(double,double),需要包含math.h。
c++里面推薦這樣用(包含iso
c++從c繼承的數(shù)學(xué)函數(shù)庫,但頭文件不帶.h擴展名且前面加c,需要用namespace
std,函數(shù)原型與c中相同):
#includecmath
//添加需要包含的頭文件...
using
namespace
std;
int
main()
{
double
d,a=2,b=3;
d=pow(a,b);
//d=a^b
//添加代碼...
return
0;
}
另外如果使用底數(shù)為e,可以用double
exp(double),用法與以上類似。