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部一樣,這個可能...