日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
c語言cosf函數(shù) C語言cos

求一用C語言畫直線的程序

C語言的話畫直線用MoveTo()和LineTo()很簡(jiǎn)單啊。

創(chuàng)新互聯(lián)專注于企業(yè)營(yíng)銷型網(wǎng)站、網(wǎng)站重做改版、龍鳳網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為龍鳳等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

幫你復(fù)制一份我學(xué)習(xí)時(shí)老師給的畫線兩例:

#includegraphics.h

#includemath.h

/*

###############################################################################

功 能:本函數(shù)的作用是用逐點(diǎn)比較法來畫一條直線

格 式:void myline1(int x1,int y1,int x2,int y2,int color)

參數(shù)說明:x1,y1是起始點(diǎn)坐標(biāo),x2,y2是終止點(diǎn),color是畫線的顏色

調(diào)用示例:myline1(10,20,500,440,4)

###############################################################################

*/

void myline1(int x1,int y1,int x2,int y2,int color)

{

/*變量定義開始(2007/10/16增加)*/

int iTx; /*x軸終點(diǎn)的相對(duì)坐標(biāo)xa或臨時(shí)變量*/

int iTy; /*y軸終點(diǎn)的相對(duì)坐標(biāo)ya或臨時(shí)變量*/

int iDx; /*x軸方向的步長(zhǎng)dx*/

int iDy; /*y軸方向的步長(zhǎng)dy*/

int iFt; /*偏差Fm*/

int iSt; /*記數(shù)循環(huán)數(shù)(dx+dy)S*/

int iXt; /*x方向循環(huán)變量xm*/

int iYt; /*y方向循環(huán)變量ym*/

/*變量定義結(jié)束*/

/*變量初始化開始*/

/*如果是第三象限或第四象限則換成第一或第二象限*/

if(y2y1)

{

iTx=x1;

x1=x2;

x2=iTx;

iTy=y1;

y1=y2;

y2=iTy;

}

iTx=x2-x1; /*取x軸的相對(duì)坐標(biāo)*/

iTy=y2-y1; /*取y軸的相對(duì)坐標(biāo)*/

iDx=1;

iDy=1;

iFt=0;

iSt=iTx+iTy;

if(iTx0)iSt=-1*iTx+iTy;; /*如果在第二象限,則x軸方向步長(zhǎng)取負(fù)值*/

iXt=0;

iYt=0;

/*變量初始化結(jié)束*/

/*數(shù)據(jù)處理開始*/

while(iSt0)

{

putpixel(x1+iXt,y1+iYt,color);

if(iTx=0) /*如果在第一象限*/

{

if(iFt0) /*如果偏差小于0*/

{

iYt+=iDy; /*y方向走一步*/

iFt+=iTx;

}

else /*如果偏差大于或等于0*/

{

iXt+=iDx; /*x方向走一步*/

iFt-=iTy;

}

}

else

{

if(iFt0) /*如果偏差小于0*/

{

iXt-=iDx; /*負(fù)x方向走一步*/

iFt+=iTy;

}

else /*如果偏差大于或等于0*/

{

iYt+=iDy; /*y方向走一步*/

iFt+=iTx;

}

}

iSt--;

}

}

/*

###############################################################################

功 能:本函數(shù)的作用是用來畫一條直線

格 式:void myline2(int x1,int y1,int x2,int y2,int color)

參數(shù)說明:x1,y1是起始點(diǎn)坐標(biāo),x2,y2是終止點(diǎn),color是畫線的顏色

調(diào)用示例:myline2(10,20,500,440,4)

###############################################################################

*/

int myline2(int x1,int y1,int x2,int y2,int color)

{

int iX; /*x方向的坐標(biāo)變量*/

int iY; /*y方向的坐標(biāo)變量*/

int iTx; /*x方向的步長(zhǎng)變量*/

int iTy; /*y方向的步長(zhǎng)變量*/

float fDx; /*x方向的差分變量*/

float fDy; /*y方向的差分變量*/

float fMinf; /*算法中的f*/

float fMaxF; /*算法中的F*/

float fS; /*終點(diǎn)判斷變量*/

fMinf=0.5; /*f=0.5*/

iX=x1;

iY=y1;

putpixel(x1,y1,color);

if(x1==x2y1==y2) /*如果終點(diǎn)和起始點(diǎn)相同*/

{

return(1);

}

iTx=1;

iTy=1;

fDx=(float)(x2-x1);

fDy=(float)(y2-y1);

fMaxF=fDy/fDx0?fDy/fDx:(-fDy/fDx); /*F=|dy/dx|*/

if(fDx0)iTx=-1;

if(fDy0)iTy=-1;

fS=fDx0?fDx:(-fDx);

if(fMaxF==1) /*如果F=1*/

{

iX=x1;

iY=y1;

while(fS0)

{

iX+=iTx; /*x方向走一步*/

iY+=iTy; /*y方向走一步*/

putpixel(iX,iY,color);

fS--;

}

}

else if(fMaxF1) /*如果F1*/

{

fS+=fDy0?fDy:(-fDy);

while(fS0)

{

iY+=iTy; /*y方向走一步*/

putpixel(iX,iY,color);

fMinf+=1/fMaxF; /*f=f+1/F*/

fS--;

if(fMinf=1) /*如果f=1*/

{

iX+=iTx; /*x方向走一步*/

fMinf--; /*f=f-1*/

putpixel(iX,iY,color);

fS--;

}

}

}

else /*如果F1*/

{

fS+=fDy0?fDy:(-fDy);

while(fS0)

{

iX+=iTx; /*x方向走一步*/

putpixel(iX,iY,color);

fMinf+=fMaxF; /*f=f+F*/

fS--;

if(fMinf=1) /*如果f=1*/

{

iY+=iTy; /*y方向走一步*/

fMinf--; /*f=f-1*/

putpixel(iX,iY,color);

fS--;

}

}

}

}

e的正弦次方加上e的負(fù)正弦次方等于

#include頭文件這個(gè)庫中有函數(shù)exp(x)相信能滿足您的要求cmath是c++語言中的庫函數(shù),其中的c表示函數(shù)是來自c標(biāo)準(zhǔn)庫的函數(shù),math為數(shù)學(xué)常用庫函數(shù)。cmath庫函數(shù)列表:C語言提供了以下的數(shù)學(xué)函數(shù),要使用這些函數(shù)時(shí),在程序文件頭必須加入:#include編譯時(shí),必須加上參數(shù)「-lm」(表示連結(jié)至數(shù)學(xué)函式庫),例如「gcc-lmtest.c」。函數(shù)之自變量與傳回之值型別見自變量或函數(shù)前之型別宣告。函數(shù)已經(jīng)在「math.h」或其它標(biāo)頭檔宣告過了,因此在使用時(shí)不必再加型別宣告,例如「y=sin(x);」,不用寫成「y=doublesin(doublex);」。函數(shù)說明:using::abs;//絕對(duì)值using::acos;//反余弦using::acosf;//反余弦using::acosl;//反余弦using::asin;//反正弦using::asinf;//反正弦using::asinl;//反正弦using::atan;//反正切using::atan2;//y/x的反正切using::atan2f;//y/x的反正切using::atan2l;//y/x的反正切using::atanf;//反正切using::atanl;//反正切using::ceil;//上取整using::ceilf;//上取整using::ceill;//上取整using::cos;//余弦using::cosf;//余弦using::cosh;//雙曲余弦using::coshf;//雙曲余弦using::coshl;//雙曲余弦using::cosl;//余弦using::exp;//指數(shù)值using::expf;//指數(shù)值using::expl;//指數(shù)值using::fabs;//絕對(duì)值using::fabsf;//絕對(duì)值using::fabsl;//絕對(duì)值using::floor;//下取整using::floorf;//下取整using::floorl;//下取整using::fmod;//求余using::fmodf;//求余using::fmodl;//求余using::frexp;//返回value=x*2n中x的值,n存貯在eptr中using::frexpf;//返回value=x*2n中x的值,n存貯在eptr中using::frexpl;//返回value=x*2n中x的值,n存貯在eptr中using::ldexp;//返回value*2exp的值using::ldexpf;//返回value*2exp的值using::ldexpl;//返回value*2exp的值using::log;//對(duì)數(shù)using::log10;//對(duì)數(shù)using::log10f;//對(duì)數(shù)using::log10l;//對(duì)數(shù)using::logf;//對(duì)數(shù)using::logl;//對(duì)數(shù)using::modf;//將雙精度數(shù)value分解成尾數(shù)和階using::modff;//將雙精度數(shù)value分解成尾數(shù)和階using::modfl;//將雙精度數(shù)value分解成尾數(shù)和階using::pow;//計(jì)算冪using::powf;//計(jì)算冪using::powl;//計(jì)算冪using::sin;//正弦using::sinf;//正弦using::sinh;//雙曲正弦using::sinhf;//雙曲正弦using::sinhl;//雙曲正弦using::sinl;//正弦using::sqrt;//開方using::sqrtf;//開方using::sqrtl;//開方using::tan;//正切using::tanf;//正切using::tanh;//雙曲正切using::tanhf;//雙曲正切using::tanhl;//雙曲正切using::tanl;//正切

cosf 這個(gè)函數(shù)是用來干什么的????

inline float cosf(float _X) ——MSDN中的函數(shù)原型,也是求弧度值的余弦值。就是指針對(duì)flaot型的!是cos()的一個(gè)特例。建議使用cos()有多種重載形式,可保證無錯(cuò)!好運(yùn)!

為什么匯編時(shí)序比C會(huì)精準(zhǔn)

在單片機(jī),ARM的裸機(jī)上,匯編真的比C精準(zhǔn)。每條匯編指令用幾個(gè)機(jī)器周期都是確定的,你用匯編寫個(gè)排序算法用多少毫秒都是可以算出來的。

但是一旦上了操作系統(tǒng),特別是分時(shí)的Windows,即使是匯編程序,也會(huì)變得“不精準(zhǔn)”。

說C語言“不精準(zhǔn)”,主要是編譯器怎么生產(chǎn)匯編指令對(duì)你是透明的。你不知道你的C代碼會(huì)編譯成怎樣的匯編代碼。

以上是有關(guān)運(yùn)行時(shí)間的問題。再看浮點(diǎn)計(jì)算的精度。

這個(gè)兩者是完全一致的:加入你用匯編求sinx,cosx的值,你會(huì)使用fsin fcos這些指令。如果你用C語言,Math.h中的sinf cosf函數(shù)最終都是通過相同的匯編指令完成的。所以二者計(jì)算機(jī)過完全一致。你還能通過編譯器選項(xiàng),使調(diào)用過程內(nèi)聯(lián)不轉(zhuǎn)跳,于是在效率上和匯編就一樣了。

但是匯編在特別極端的情況下的卻能優(yōu)化計(jì)算速度,還是以求三角函數(shù)為例,在很多場(chǎng)合都需要同時(shí)求出正弦與余弦,Math.h中的函數(shù)必須兩次調(diào)用,但卻有指令fsincos能同時(shí)算出二者,且速度與單獨(dú)計(jì)算fsin或者fcos是一樣的。

總之,只要你的不是特別底層,特別最求速度的事情,匯編的精確性很難體現(xiàn)出來。

C語言程序設(shè)計(jì)

/*1)*/#include stdio.h

#include math.h

#include conio.h

main()

{

float x,y;

printf("X=");

scanf("%f",x);

if(x=0)

y=sinf(x)+cosf(x)/2;

else

y=sinf(x)-cosf(x)/2;

printf("Y=%f",y);

getch();

}/*---------------------*//*2)*/#include stdio.h

#include math.h

#include conio.h

main()

{

int i,j,res;

for(i=1;i=9;i++)

{

for(j=1;j=i;j++)

{

res=i*j;

printf("%d*%d=%d ",i,j,res);

}

printf("\n");

}

getch();

}/*------------------------------------*//*3*/#include stdio.h

#include conio.h

main()

{

int i,j,tmp,n,num[11];

printf("Input 10 integer:");

for(i=0;i10;i++)

scanf("%d",num[i]);

num[10]=9999; /*臨時(shí)賦予第10個(gè)元素一個(gè)大值*/

for(j=9;j0;j--) /*冒泡法從小到大排序*/

{

for(i=0;i10;i++)

{

n=0;

if(num[i]num[i+1])

{

tmp=num[i+1];

num[i+1]=num[i];

num[i]=tmp;

n++;

}

}

}

for(i=0;i10;i++) /*顯示排序后的數(shù)組前10項(xiàng)*/

printf("%d ",num[i]);

printf("\nInput an integer:");

scanf("%d",n);

for(i=0;i10;i++)

{

if(nnum[i])

break;

}

for(j=10;ji;j--)

{

num[j]=num[j-1];

}

num[i]=n;

for(i=0;i11;i++)

{

printf("%d,",num[i]);

}

getch();

}

c++中使用exp (就是e的多少次方)需要什么頭文件

#includecmath這個(gè)庫包含exp(x)函數(shù),可以解決此問題。

1.打開vc++6.0編譯器,如圖所示選擇新函數(shù)。

2.在新函數(shù)中選擇文件,然后選擇c/c++頭文件,然后在正確的文件名中輸入要使用的頭文件名**。

3.在新的頭文件中輸入你的頭代碼(如圖所示是我剛寫的一個(gè)調(diào)用函數(shù)),鍵入代碼后,點(diǎn)擊左上角保存。

4.找到新的頭文件,復(fù)制或移動(dòng)到VC98\Include目錄下的vc++6.0安裝目錄。

5.再次打開vc++創(chuàng)建一個(gè)新的C語言文件,如下圖所示,選擇該文件,選擇C/c++源文件,輸入文件名**。C(記得帶文件擴(kuò)展名。C),確認(rèn)。

6.在新的c文件中輸入代碼,并聲明您在預(yù)處理命令中編寫的用于調(diào)用頭庫的頭文件的名稱。


分享名稱:c語言cosf函數(shù) C語言cos
文章轉(zhuǎn)載:http://www.dlmjj.cn/article/hhiepp.html