需要準備的材料分別有:電腦、C語言編譯器。
專業(yè)成都網(wǎng)站建設(shè)公司,做排名好的好網(wǎng)站,排在同行前面,為您帶來客戶和效益!創(chuàng)新互聯(lián)公司為您提供成都網(wǎng)站建設(shè),五站合一網(wǎng)站設(shè)計制作,服務(wù)好的網(wǎng)站設(shè)計公司,網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)負責(zé)任的成都網(wǎng)站制作公司!
1、首先,打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。
2、在test.cpp文件中,調(diào)整C語言代碼:double c;c=1.0 * a/b;。
3、編譯器運行test.cpp文件,此時成功將除法保留2位整數(shù)輸出。
若除數(shù)是整形數(shù),則除數(shù)的絕對值與0比較,若除數(shù)是浮點數(shù),則除數(shù)的絕對值與一個足夠小的進行比較,不如這個做夠小的數(shù)是: epsilon = 1.0e-7。該函數(shù)的返回數(shù)據(jù)類型應(yīng)該為double類型。 #include math.h // 包含函數(shù)fabs()double quotient(double dividend,double divisor) { double spsilon = 1.0e-7; if(fabs(divisor) = epsilon) { printf("除數(shù)不能為零。\n\n"); exit(1); // 異常出錯退出整個程序 } return divitient/divisor;}
不是“必須"有一個是浮點型,只不過如果兩個數(shù)都是整形的話,會按照整形數(shù)的除法,只有商的部分。
直接相除就行,比如:有
double?f1();
double?f2();
int?f3();
int?f4();
就可寫:
double?d1?=?f1()/f2();
double?d2?=?f1()?/?f3();?//?等號右側(cè)表達式為浮點型;
int?d3?=?f3()?/?f4();?//等號右側(cè)表達式為int型;
double?d4?=?((double)f3())?/?f4();//將第一個函數(shù)的返回值轉(zhuǎn)換為double型
臨時寫的,程序不完整,可能會有漏洞
/*-------------------------------------*/之間的部分需要自己補充,不過基本思想已經(jīng)體現(xiàn)了,仔細想想應(yīng)該不難做了
#include
stdio.h
#include
string.h
/*超級除法函數(shù)(只提供整數(shù)相除)*/
/*ret為輸出的結(jié)果,必須保證空間足夠*/
/*devidend被除數(shù),divider除數(shù)*/
void
SuperDivide(char*
ret,
int
devidend,
int
divider)
{
int
bPointShowed
=
0;
/*用來表示是否出現(xiàn)過小數(shù)點了*/
/*使用的數(shù)組下標*/
int
i
=
0;
/*取余數(shù)用的*/
int
remainder
=
devidend;
/*用這個循環(huán)計算*/
while(1)
{
/*被除數(shù)大于除數(shù)才能除*/
if(remainder
=
divider)
{
/*用來表示是否除盡了*/
int
bOver
=
0;
/*除盡了*/
if(devidend
%
divider
==
0)
{
bOver
=
1;
}
else
{
/*取余數(shù)*/
remainder
=
devidend
%
divider;
}
int
retNum
=
devidend
/
divider;
/*----------------------
這里需要把retNum的每一位數(shù)單獨填充到ret中,結(jié)合下標i++
---------------*/
/*-------------------------------------*/
/*除盡了就跳出了*/
if(bOver)
{
/*如果bPointShowed為0則需要在ret[i]處加上小數(shù)點*/
break;
}
}
else
{
/*不夠除了*/
remainder
*=
10;
/*如果bPointShowed為0則需要在ret[i]處加上小數(shù)點,如果有小數(shù)點了則需要補0?*/
}
/*計算到100000位了就跳出吧*/
if(i
=
100000
-
1)
{
break;
}
}
}
int
main()
{
int
devidend,
divider;
scanf("%d
%d",
devidend,
divider);
char
ret[100000];
/*全部清0*/
memset(ret,
0,
100000);
SuperDivide(ret,
1,
1);
printf("%s",
ret);
return
0;
}
#include stdio.h
int main( )
{ double a,b,c;
scanf("%lf%lf",a,b);????????//讀入被除數(shù)和除數(shù)
c=a/b;????????//計算商
printf("%g/%g=%g\n",a,b,c);????????//兩行輸出
printf("商的整數(shù)部分是%d\n",(int)c);????????//取整數(shù)并輸出
return 0;
}
本文題目:c語言實現(xiàn)除法函數(shù) c語言中除法的用法
網(wǎng)頁URL:http://chinadenli.net/article26/hgcecg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、電子商務(wù)、品牌網(wǎng)站制作、移動網(wǎng)站建設(shè)、微信小程序、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)