A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 飘飘风 初级黑马   /  2015-11-15 09:48  /  23638 人查看  /  62 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

5黑马币
第一种, (-10) / 3 = -3 …… -1;
第二种, (-10)/ 3 = -4……2;
应该选哪一个结果呢?为什么?

62 个回复

倒序浏览
亲,第二种,余数都是正数。
回复 使用道具 举报
余数必须为正数,如上题余数为2,-29/5,余数为1
回复 使用道具 举报
@长刀研,谢谢解答!
但是在C语言程序中,
(-10%3)的结果为-1,
printf("-10 除以 3 的余数为;%d\n", ((-29)%5) );结果为-4。

后来我想了一下,大概是这样的,余数的正负是由被除数决定的,被除数原来为负,那么,余数结果也是负数。
回复 使用道具 举报
-10/3=-3  ,-10%3=-1  ,具体可以自己去测试下
回复 使用道具 举报
@fenghun1991, 我测试过,确实是如此。谢谢你!
回复 使用道具 举报
10%-3等于1;   

-10%3等于-1;
-10%-3等于-1;
对最终的计算结果正负有影响的只有第一个元素,也就是说a%b中a正的话正,负的话负

评分

参与人数 1黑马币 +3 收起 理由
飘飘风 + 3

查看全部评分

回复 使用道具 举报
楼上是对的,余数的符号取决于第一个数,视频里面有的你可以去看看,
所以选第一种,哥你的黑马币可以打赏给我吗
回复 使用道具 举报
好的,谢谢筒子们!
回复 使用道具 举报
取余运算计算方法可以是这样:
-10%3或10%-3      //相当于-(10/3)


求打赏

评分

参与人数 1黑马币 +1 收起 理由
飘飘风 + 1 今天登录了一次论坛,得了一分,送你了哥们.

查看全部评分

回复 使用道具 举报
@触底反弹,哥们,我没分了,你看,我0个黑马币了。
回复 使用道具 举报
选第一种啊,负数除以正数,符号不变,余数和绝对值的相同
回复 使用道具 举报
-10 / 3 =-3 余1 ,数学逻辑是求值运算。
-10%3 = -1. 这个结果是求余数的。一般是x %y ==0,是求当x 是y 的整数倍时,用来做判断的。
在编程中我们要分清楚是求余数,还是求值

以上是我这个初学者的分析,谢谢,,有更合适的解释转告我一下
回复 使用道具 举报
正确答案有了吗
回复 使用道具 举报
-1  并不是说所有余数都是正整数
回复 使用道具 举报
木冉 中级黑马 2015-11-16 09:45:00
16#
余数的正负是由被除数所决定的,被除数是正则余数为正,为负则余数负
回复 使用道具 举报
余数为-1,余数的符号与前面的数的符号保持一致,如-10%3=-1,-10%-3=-1,10%-3=1
回复 使用道具 举报
第一个答案,我认为
回复 使用道具 举报
是第一种,余数的符号与被除数相同
回复 使用道具 举报
本帖最后由 米易雅克 于 2015-11-16 20:59 编辑

int main(int argc, const char * argv[]) {
    int sum=0;
    sum=(-10)%3;
    printf("%d\n",sum);
    return 0;
}结果为-1
回复 使用道具 举报
1234下一页
您需要登录后才可以回帖 登录 | 加入黑马