C語言賦值中除法計算怎麼保留N位小數

2022-11-03 00:32:42 字數 4281 閱讀 9587

1樓:自我程式設計

方法一:通過數學方法判斷分數是否是無限迴圈小數,需要確定分子分母是否互質,另外還要判斷小數從第幾位開始無限迴圈,比較麻煩。

方法二:直接講分數運算結果轉換成字串,然後寫函式進行字串比較。**如下:

#include

#include

int checkanswer(char solution,char answer);//檢查回答是否與答案匹配,是返回1,否返回0

int main()

return 0;

}int checkanswer(char solution,char answer)//檢查回答是否與答案匹配,是返回1,否返回0

{int i,len1=strlen(solution),len2=strlen(answer),len;

if(len2>len1)

len=len1;

else

len=len2;

for(i=0;i

2樓:匿名使用者

可以這樣:

int a,b;

float c;

c=(int)(a*10.0/b+0.5)/10.0;

這樣就可以讓結果c只保留一位小數。只是將a/b保留一位小數的結果賦給c,並不改變a/b本身的值,因此a/b仍然是0.333...

3樓:匿名使用者

浮點表示有誤差,所有判斷基於字串比較,輸入識別為字串,計算結果使用sprintf轉成字串,然後配合strncmp()比較

#include

#include

int main()

4樓:伱i汝非吾

我暫時想到的方法是,乘十的倍數,取整,除回去,其實只需要一行語句,但這樣還是隻有一個值,c變成0 3後就不再是1/3了

c語言中除法怎麼取得小數?

5樓:一棵無所不知的小白菜

1、開啟c-free,新建檔案。

2、輸入以下內容:(以除法為例)

#include

main()

float a,b,c;

printf("請輸入被除數:");

scanf("%f",&a);

printf("\n請輸入除數:");

scanf("%f",&b);

c=a/b;

printf("\n%f÷%f=%f\n",a,b,c);

3、按f5執行,得到結果。

4、float a,b,c;意思是設定三個名為a,b,c的浮點變數,區別於整形變數(int a,b,c;)和字串變數(char a,b,c;),浮點變數是可以帶小數的數值變數。

5、scanf("%f",&a);表示將你輸入的數字以帶6位小數的形式儲存於a中。

6、c=a/b; 是一個賦值語句,意思是將a除以b的值給c。四則運算中,加法運算子為+,減法為-,乘法為*,除法為/。

7、如果只想保留三位小數,可以在%f中間加.3,即printf("\n%.3f÷%.3f=%.3f\n",a,b,c)。

8、當然%.3f與%d一樣前面的%f與後面變數按順序一一對應即可。

6樓:匿名使用者

除了一開始用float進行定義之外,

後面進行除法運算的時候要加.0,

否則算出的結果電腦會自動取整~~

如:3/2的結果和3.0/2的結果就不同~~因為沒有定義3/2為浮點型,所以3/2自動取整,結果等於1

而3.0/2,由於預先用浮點型表示

其結果顯然為:1.5

希望對你有所幫助~~

7樓:豬自逍遙

做除法的時候吧其中一個數寫成或定義成單精度或雙精度不就行了~!

8樓:匿名使用者

輸入的時候寫成小數,如5/2=2,而5.0/2=2.5或5/2.0=2.5.

9樓:匿名使用者

將變數宣告成float或double即可,或將非int/long型別強制轉化成float或double(用括號).

10樓:匿名使用者

%.2f 2表示取小數點後2位

11樓:

假設有 x,y兩個變數

(double)x/y - (int)x/y 就是小數部分

12樓:

你可能都是用int 的吧

小數要用float

c語言中如何保留一位小數點

13樓:雙魚貝貝

採納率:52%12級2015.05.17

可以通過printf函式中的輸出格式說明符來實現保留一位小數點。回

具體實現方法見答下例:

float a = 3.14159;

printf("%.1f", a);  // 輸出結果為3.1

更一般的形式如下:

printf("%x.yf", a); // 其中x, y都是常量,a是待輸出的變數。

// 對於變數a的整數部分輸出,如果a的整數部分不足x位,則在前面補空格,若大於x位,則按實際位數輸出

// 對於變數a的小數部分輸出,如果a的小數部分不足x位,則在後面補0,若大於x位,則按四捨五入準則輸出y位小數

一鍵還原類軟體的備份檔案。使用ghost explorer軟體開啟,可以檢視該檔案的內容。此檔案不可刪除!刪除了以後就無法恢復系統了。

14樓:a羅網天下

可以通過printf函式中的復輸出制

格式說明符來實現保留一位小數點,要保留一位小數就用printf("%.1f",x),例子如程式中給出那樣。

例子如下:

直接編譯,程式輸出結果如下圖所示:

15樓:匿名使用者

可以通過printf函式bai中的輸出格式說明du符來實現保留zhi一位小dao

數點,要保留一位小數就用

回printf("%.1f",x),例子如程式中給答出那樣。直接編譯,程式輸出結果如下圖所示:

擴充套件資料:1.printf("%3.

0f",floatnum):不保留小數說明:%3.

0f表明待列印的浮點數(floatnum)至少佔3個字元寬,且不帶小數點和小數部分,整數部分至少佔3個位寬;注意:這裡的3只代表整數部分至少佔3位,捨棄小數點和小數點後面的部分。2.

printf("%6.2f".floatnum):

保留兩位小數說明:%6.2f 表明待列印的數(floatnum)至少佔6個字元寬度(包括兩位小數和一個小數點),且小數點後面有2位小數,小數點佔一位,所以整數部分至少佔3位。

注意:這裡的6是待列印的數至少佔據的字元寬度,包括兩位小數(如果小數不夠兩位用0補位,例如100.1列印出來為100.

10)和一個小數點,所以整數部分至少佔3個字元寬度。

16樓:四甫

給小學生講c++求平均數及保留小數點&&賦值運算

17樓:天雲一號

可以通過printf函式中抄的輸出格式bai說明符來實現保留一位小數du點。

具體實現方法見zhi下dao例:

float a = 3.14159;

printf("%.1f", a);  // 輸出結果為3.1

更一般的形式如下:

printf("%x.yf", a); // 其中x, y都是常量,a是待輸出的變數。

// 對於變數a的整數部分輸出,如果a的整數部分不足x位,則在前面補空格,若大於x位,則按實際位數輸出

// 對於變數a的小數部分輸出,如果a的小數部分不足x位,則在後面補0,若大於x位,則按四捨五入準則輸出y位小數

18樓:匿名使用者

printf("%.1f",x)

19樓:匿名使用者

printf("%.1f",x);

好像是這樣

c語言 除法 保留 兩位小數

20樓:匿名使用者

t = rand()%500; //要有問題應該是這句,[0,5]是個閉區間,所以應該模501

t = rand()%501;

21樓:匿名使用者

#include

#include

int main()

你想要的是這種結果嗎?

22樓:

s=0.01*t應該可以,你試試

c語言中怎麼表示除法,C語言中怎麼表示除法

5處以2這樣寫 5 2結果是取整數的也就是等於2 是除法取餘數好好看看數吧 c語言中除號用 表示,相應的,乘號用 表示 a b 表示a除以b,但是需要注意,當a b均為整形時,運算為求出不大於商的最大整數,如10 7 1,5 2 2,13 4 3 相對應,a b表示求a除以b的餘數 如果要實數除法,...

C 程式設計中怎樣表示保留n位小數

用c 怎麼輸出小數點後n位的方法 包含標頭檔案 include 用setprecision n 設定精度,其中n表示精確到小數點後n位 例子 double t 3.33333333 cout 輸出就是8位精度小數 你仍然可以用上面這些語句。此外,以可以看下面的例子 使用setprecision n ...

求問m的n次方的c語言程式,c語言計算m的n次方要求輸入mn輸出m的n次方

include include void main printf m的n次方為 容 d n s include void main printf m d m c語言 計算m的n次方 要求輸入m n 輸出m的n次方 include void main 已在vc檢測 include stdio.h ma...