關於C語言的求餘運算問題,一個關於C語言的求餘運算問題

2022-09-20 08:15:20 字數 3546 閱讀 7914

1樓:張簡廣英權甲

所謂求餘運算,顧名思義其主要用途是計算兩數相除所剩的餘數。對某些條件的資料進行判斷取值。

如我們要判斷某數x是不是既是3的倍數又是5的倍數就可以通過x%3=0

且x%5=0的條件判斷。不同的計算機程式語言中都有求餘運算,表達方式不一,但實際應用效果廣泛

2樓:革雲德天淑

取模(%)比如3%2==1;3%0==0;

也就是除以一個數剩下幾他的模就是幾。

主要用於一些需要判斷數字時,像你要推算是閏年還是平年,就要用到取模。2009%4==1;就是閏年,而2008%4==0,就是平年。

3樓:

估計你看錯了 % 是取餘 符號,兩邊必須是 int型的整數

你應該看的是 / 除法的運算, 3/2=1,3.0/2.0=1.5 這就是對的了.

4樓:匿名使用者

3.0%2.0這是非法的,編譯器通不過,

3.0/2.0=1.5 才是正確的,樓主看看清楚是除號還是求餘~~

5樓:

3%2=1是求餘運算,通俗理解:3,2都是int型,所以1必須為int型,

而3.0和2.0都是double型,所以1.5也為double型,並且3.0/2.0=1.5吧!

6樓:

%為求餘運算,一般為整型,3.0%2.0不合法,編譯器會報錯.

7樓:微軟首席架構師

3.0 % 2.0 編譯就會報錯的

浮點數不支援% 運算

關於c語言中的求餘運算

8樓:悉邁楚高卓

求餘可是小學數學的知識哦,和

c沒有關係。意思兩個數相除取不能被整除的部分,比如5÷2=2…1,這個1就是餘數,2÷5=0...2,這個2就是餘數,4÷2=2...0,這個0就是餘數

關於c語言求餘的運算。

9樓:東若谷扶雀

看來樓主不太瞭解取餘運算子%

例如:40除以3等於13餘1

則取餘運算表示式為40%1=1

40除以4等於10餘0

則取餘運算表示式40%4=0

所以取餘運算只取除法運算的餘數d=

f[(b/c

)%4];//

b/c=7/4=1;

1%4=1;

則d=f[1]=19;

if(f[(a+b

+c+d)

%4]>

f[2])

//a+b+c+d=10+7+4+19=40;

40%4=0;

則if(f[0]>f[2]),即if(9>29),條件為假,執行else,那麼c+d=4+19=23(最終結果);

10樓:南宮懷雨姬賦

你的註釋好像不對啊。a=

f[0]

+f[1]

+f[2]

+f[3];

//9+19+29+39=96,沒問題a=a/

f[0];

//a=10,ok,小數去掉b=

f[0]

+f[2]

+f[3];

//9+29+39=77,okb=

b/a;//b=7,ok,小數去掉c=

(b*f[1]+a)

/f[2];

//c=7*19/29=4,這裡應該是c=(7*19+10)/29=4,結果倒是不變的,小數去掉d=

f[(b/c

)%4];//d=

4,這裡不對,d=f[(7/4)%4]=f[1%4]=f[1]=19,這裡的%表示取餘數,即1除以4餘數是1;

if(f[(a+b

+c+d)

%4]>

f[2])

//6>29,f[(a+b+c+d)%4]=f[(10+7+4+19)%4]=f[40%4]=f[0],所以是判斷9>29?

printf("%d\n",a+

b);else

printf("%d\n",c+

d);//4+4=8,4+19=23

return0;

c語言裡面%求餘是怎麼運算的?

11樓:天雲一號

運算子%的運算結果就是左運算元除以右運算元後所得的餘數。

下面舉一個通例來說明:

a%b 假設a/b=c(餘數為d)

對於上面的例子,左運算元為a,右運算元為b,那麼a%b後的結果為d。

值得注意的是運算子%的左右運算元必須都為int型。

運算子%最基本的應用就是判斷奇偶性(a%2),還有就是用在迴圈連結串列和迴圈佇列中,用於判斷節點的位置。

12樓:天狼星丶惡魔

40/23=1餘17

a%b意思是得到a除於b的餘數;a%b=17(17即是餘數)a/b是a除b得到的商;a/b=1(1.4814814814815)因為輸出是%d,%d是整數,所以只會顯示1只有%f和%lf才有顯示小數

13樓:匿名使用者

舉個例子把 40%23 因為40=23*1+17 也就是說40裡只有一個23 剩下的就是17 於數就是求這個刨去所有23的個數剩下的數 不知道樓主問的是不是這個 求於數額 小學數學額。。。。

14樓:匿名使用者

求餘數40-⌊40/23⌋*23=40-1*23=17

⌊ ⌋為取整

15樓:匿名使用者

你都知道%是求餘,50除23餘數是4吧,40除23餘數是17啊。

16樓:

對求餘數用的:

50/23 = 2……4(2餘4)

40/23 = 1……17(1餘17)

17樓:匿名使用者

18樓:來自天險河幽韻撩人 的風信子石

a%b a除以b取餘,餘數即得出的結果。

19樓:膽大的小嘍嘍

打個比方

當a=21時(a%7==0)就是a可以除下7,並且餘數為0

當a=22時(a%7==1)就是a可以除下7,並且餘數為1

例如:int a;

for(a=1;a<=10;a++)

if(a%2==0)答案等於2 4 6 8 10

例如2:

int a;

for(a=1;a<=10;a++)

if(a%3==1)答案等於1 4 7 10

以此理解!

希望能在學習中幫助你們!!!加油

關於c語言的問題,關於C語言的一個問題

include define max x,y,z x y?x y z?x y?x y z define min x,y,z x int main include int main void include include need random srandom include need time i...

介紹下C語言運算順序,介紹下一個C語言運算順序

順序 b c a b a 執行後 a 6b 19 c 24 根據優先順序和結合性 的優先順序最高,並且是左結合的 所以原表示式可以寫成c a b 這樣看的清楚了吧?而a 這裡的 在後,因此整個表示式的值是 a自增前的值 也就是5 然後a再自增1變成6 而 b 這裡的 在前,因此整個表示式的值是 b自...

c語言關於運算子的問題

在前九先執行j後在加,比方j 1 1 j 則先是1 j,當然1 j 2了,然後是執行j 這時j 2了,如果是1 j j的話,結果就改是1 1 2 4了,你推敲下是不是這樣 int m,j 5,t t j j j j 6 6 8 8 這裡我用vs2005編譯的是28,9,和你的26,9部一樣,這個可能...