關於c語言計算除法的問題,關於c語言計算除法的問題

2021-03-17 19:33:09 字數 4327 閱讀 8242

1樓:

n=2,因為左面的值為假,右面就不做了,所以n的值不發生變化,仍為2

c語言除法問題求教!

2樓:****木筆

運算子的優先順序問題,/ 和 * 是同一執行級別,那麼如果沒有用括號說明,那麼就會從左到右執行,也就是先除以2,然後在乘以a。如果你先要除以 2*a這個整體,那麼就必須要用括號括起來。括號的運算優先順序高於 乘除。

3樓:匿名使用者

x1 = (-b + sqrt(disc)) / 2 * a

/*運算的優先順序問題,()的最高,

優先順序高的先運算,同級運算子從左到右逐一運算,/,*優先順序一樣,所以先除以2後乘以a等同((-b + sqrt(disc)) / 2) * a,(-b + sqrt(disc)) / (2 * a)這樣才會先運算2*a再運算除法*/

4樓:鬼流木

因為乘除的優先順序相同,所以(-b + sqrt(disc)) /2*a = (-b + sqrt(disc)) *a/2,在數學上也是要加括號的,只是用分數的形式寫的話2*a在分母上,肯定先算2*a

c語言中的除法怎麼算

5樓:匿名使用者

在計算c語言算術表示式的結果時,特別是除法,需要注意計算過程中運算物件的資料型別轉換。

相同資料型別的資料、變數進行運算,結果保持原有資料型別。

當不同資料型別的資料、變數進行運算時,結果為精度高的資料型別。

例如:1/2 的結果為0

1.0/2 的結果為 0.5

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。

二十世紀八十年代,為了避免各開發廠商用的c語言語法產生差異,由美國國家標準局為c語言訂定了一套完整的國際標準語法,稱為ansi c,作為c語言最初的標準。

6樓:

汗。不知道樓上用的是哪個世紀的編譯環境??

樓主,現在的編譯環境float或者double,一般預設為小數點後面有6位小數。

多於6位的小數,小數點部分自動四捨五入。

所以4.0/16=0.250000.

順便提一下。整數常量電腦會預設他為整形。

小數常量電腦會預設他會浮點型。

整形/整形=整形

浮點型/整形 或者 整形/浮點型 =浮點型。。跟負正為負,一個道理。

所以當4/16的時候,兩個都是整形。所以結果也是整形為0樓主自己上機一試便知

7樓:匿名使用者

a/b 表示a除以b,但是需要注意,當a、b均為整形時,運算為求出不大於商的最大整數,如10/7 = 1,5/2 = 2, 13 / 4 = 3

相對應,a%b表示求a除以b的餘數

如果要實數除法,需要轉換運算元為浮點型

8樓:無法無天

a

a

t=2,a=1,b=2,c=0

a

9樓:

問題是什麼意思?

在計算c語言算術表示式的結果時,特別是除法,需要注意計算過程中運算物件的資料型別轉換。

相同資料型別的資料、變數進行運算,結果保持原有資料型別。

當不同資料型別的資料、變數進行運算時,結果為精度高的資料型別。

例如:1/2 的結果為0

1.0/2 的結果為 0.5

10樓:匿名使用者

百分號是取模運算,就是我們通常所說的求餘數如 int a,b;

a = 5;

b = 3;

printf("%d\n",a%b);

輸出結果是2.

希望這樣你可以很好的理解。

11樓:匿名使用者

在c/c++中,「%」是求餘運算子,適用於無符號整形變數。對於無符號整形變數m和n,則

m%n的結果是0 ~ n - 1,例如

105%5 = 0

12%5 = 2

3%2 = 1

26%7 = 5

演算法:用m減去n,如果差小於n,則這個差就是求餘的結果,否則繼續用得到的差減n,直到滿足差小於n為止,最後得到的差就是求餘結果。

12樓:口框口

除法分為整除和精確除

例如a/b

當a,b同時為整數時,是整除,例3/5=0,5/3=1,14/5=2就是隻要整數部分,

而如果a,b兩個有一個或者兩個都是小數的話,就是精確除,和數學裡的除是一樣的。例,3.0/5=0.6,1.2/4=3.0

13樓:匿名使用者

記住一點:c語言的運算結果要看運算子兩端的運算數的資料型別。

比如,整形除整形,結果一定是整形。整形除浮點型或者浮點型除整形,結果就是浮點型。這個和數學上的運算是不同的。

具體轉換規則可以查閱c語言教材。比如,7/5結果是1,12/5結果是2,12/5.0結果是2.

400000。

不單單是除法,別的運算子也一樣。

14樓:

void main(void)

15樓:

除法c=b/a

b=b/a等價b/=a

餘數c=b%a,也就是b整除a 的餘數為cb=b%a等價b%=a

16樓:殘殤

//#include "stdafx.h"//vc++6.0加上這一行.

#include "stdio.h"

int n=-9;

double f=1.0;

void main(void)

c語言 除法問題

17樓:旅初彤

變數k輸出型別不對,應該將輸出的%d換成%lf

18樓:聽不清啊

k是double型別,輸出必須要用%lf格式符。如果不要小數的話,應該以%.0lf格式符輸出。

只是二個數字之間為什麼是用小數點分隔呢?

c語言 除法部分求修改

19樓:匿名使用者

你構思的邏輯很成問題,所以出錯了。

我另外幫你加了一個整除判斷函式。(相信你是測試沒學過小數的低年級學生,如果你要讓運算結果包含小數,就沒必要那麼麻煩,直接像樓上幾位說的用強制轉換語句float()搞定就得了)

除法已經改好,其他運算我沒管。

暈了,吃完飯再看了下,發現你的錯誤不止是除法上,我還是給你改完吧#include

#include

#include

int jia(int x,int y)

int jian(int x,int y)int cheng(int x,int y)int chu(int x,int y)

int divisible(int x,int y)return d;

}//判斷x是否能整除y

void js(char a)

else

} }//if結束

printf(" %d %c %d =",x,a,y);//要把除法的引數確定好了再輸出它們

scanf("%d",&z);

switch(a)

if(result==z)

else

printf("錯誤!應該是%d\n",result);

}printf("答題結束,你答對%d題\n",sum);

fflush(stdin);

}void main()}

20樓:匿名使用者

恩,整數的加減乘運算結果卻是一定是整數,可是出發運算不是吧,int chu型別就已經確定了結果很大可能性不正確了。

建議修改如下:

定義變數int remainder=0;

int chu(int x,int y)

21樓:楓吟夜淚

整數的加減乘運算結果一定是整數,可是除法運算不卻不一定。你可修改如下:

int chu(int x,int y)

關於c語言的問題,關於C語言的問題。

題1 include int main 題2 include int main 題3 include int main 第1個題目 就是判斷while 括號裡面的值是否為真,因為加了個!所以 k 0 n 為真時while裡面的判斷語句就為假,因為 為邏輯與,就是判斷 兩邊的式子是否為真,當k 0為真...

C語言小問題,關於,關於C語言的小問題?

a b max a max b 語法錯誤,該為 a b max a max b 另外注意 printf 最大值為 c n c 改正為printf 最大值為 d n c 已測試關於i 和 i的區別,如果沒有賦值的話,他們結果是沒區別的,關於他們的區別,我舉例說明 1 int i 0,a a i 這裡結...

c語言關於結構體的小問題,C語言關於結構體的小問題

在f函式中s是一個臨時的變數,它隨著f的呼叫而產生,隨著f的結束而消失,你這裡的交換只是在f中臨時調換了p指向的地址,並沒有改變p指向地址的記憶體中的內容,要想改變裡面的內容就要解指標,給具體存放資料的記憶體賦值,例如p 1 s 1 等等.這很簡單啊,陣列下標從0開始,s 1 是第二個 輸出結果當然...