举例说明
a÷b=c…d
17÷5=3…2
被除数÷除数=商…余数
有负号的运算规则
求:
- -17除以5的商和余数
- 17除以-5的商和余数
- -17除以-5的商和余数
答:
a÷b=c…d
用a代表被除数,用b代表除数,用c代表商,用d代表余数.
c的数值是|a|/|b|,c是正号还是负号由a和b的负号数量决定;d的正负号和a相同,数值为 a-c*b
.
- -17÷5=-3…-2
解释:-17
和5
分别取绝对值并相除,即17/5=3
,因为只有一个负号,因此-17/5
的商为-3
;余数为-17-(-3*5)
,即余数为-2
.
- 17÷-5=-3…2
解释:17
和-5
分别取绝对值并相除,即17/5=3
,因为只有一个负号,因此17/-5
的商为-3
;余数为17-(-3*-5)
,即余数为2
.
- -17÷-5=3…-2
解释:-17
和-5
分别取绝对值并相除,即17/5=3
,因为有两个负号,负负得正,因此-17/-5
的商为3
;余数为-17-(3*-5)
,即余数为-2
.
验证
用程序测试一下,代码如下:
#include <stdio.h>void division(int dividend,int divisor)
{printf("%d/%d=%d\n",dividend,divisor,dividend/divisor);printf("%d%%%d=%d\n\n",dividend,divisor,dividend%divisor);
}int main(void)
{int a,b,c,d;a = 17,b = 5;division(a,b);a = -17,b = 5;division(a,b);a = 17,b = -5;division(a,b);a = -17,b = -5;division(a,b); return 0;
}
运行结果为:
17/5=3
17%5=2-17/5=-3
-17%5=-217/-5=-3
17%-5=2-17/-5=3
-17%-5=-2