c語言除法分為整除和精確除
成都創(chuàng)新互聯(lián)專注于臨洮網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供臨洮營(yíng)銷型網(wǎng)站建設(shè),臨洮網(wǎng)站制作、臨洮網(wǎng)頁設(shè)計(jì)、臨洮網(wǎng)站官網(wǎng)定制、小程序制作服務(wù),打造臨洮網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供臨洮網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
例如a/b
當(dāng)a,b同時(shí)為整數(shù)時(shí),是整除,例3/5=0,5/3=1,14/5=2就是只要整數(shù)部分,
而如果a,b兩個(gè)有一個(gè)或者兩個(gè)都是小數(shù)的話,就是精確除,和數(shù)學(xué)里的除是一樣的。例,3.0/5=0.6,1.2/4=3.0
若除數(shù)是整形數(shù),則除數(shù)的絕對(duì)值與0比較,若除數(shù)是浮點(diǎn)數(shù),則除數(shù)的絕對(duì)值與一個(gè)足夠小的進(jìn)行比較,不如這個(gè)做夠小的數(shù)是: epsilon = 1.0e-7。該函數(shù)的返回?cái)?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); // 異常出錯(cuò)退出整個(gè)程序 } return divitient/divisor;}
不是“必須"有一個(gè)是浮點(diǎn)型,只不過如果兩個(gè)數(shù)都是整形的話,會(huì)按照整形數(shù)的除法,只有商的部分。
直接相除就行,比如:有
double?f1();
double?f2();
int?f3();
int?f4();
就可寫:
double?d1?=?f1()/f2();
double?d2?=?f1()?/?f3();?//?等號(hào)右側(cè)表達(dá)式為浮點(diǎn)型;
int?d3?=?f3()?/?f4();?//等號(hào)右側(cè)表達(dá)式為int型;
double?d4?=?((double)f3())?/?f4();//將第一個(gè)函數(shù)的返回值轉(zhuǎn)換為double型
123456789101112131415161718192021222324252627#includestdio.h#includestdlib.h#includetime.hint main(){ srand(time(0)); int a,b,times=0; a=rand()%100+10; b=rand()%10+1; while(times3) { int t=0; printf("%d/%d=____",a,b); scanf("%d",t); if(t!=a/b) { printf("wrong\n"); }else { printf("right\n"); return 0; } times++; } printf("Three times have passed"); return 0;}
在C語言里整數(shù)除以整數(shù)只得整數(shù),小數(shù)部分被省略