m0_60698563 2021-08-07 15:41 采纳率: 88.9%
浏览 27
已结题

利用数组实现两个五十位的十进制正数相加

img
循环体: for(j=0;j<sNumber;j++)
{
sum[j]=(a[j]+b[j]+c)%10;
c=(a[j]+b[j]+c)/10;
}
不太懂这个循环体
为什么循环中a【j】+b【j】后还要+c 再和10取余呢?

  • 写回答

1条回答 默认 最新

  • bekote 2021-08-07 15:50
    关注

    因为高位两个数相加之后还要加上低位多出来的进位,比如35+27,从低位开始运算,5+7=12,12%10=2,也就是倒数第一位值为2,进位12/10=1,接着3+2+1(倒数第一位运算时产生的进位)=6,6%10=6,所以倒数第二位值为6,没有进位,所以最终结果为62

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月22日
  • 已采纳回答 8月14日
  • 请采纳用户回复 8月10日
  • 创建了问题 8月7日

悬赏问题

  • ¥15 pcl运行在qt msvc2019环境运行效率低于visual studio 2019
  • ¥15 MAUI,Zxing扫码,华为手机没反应。可提高悬赏
  • ¥15 python运行报错 ModuleNotFoundError: No module named 'torch'
  • ¥100 华为手机私有App后台保活
  • ¥15 sqlserver中加密的密码字段查询问题
  • ¥20 有谁能看看我coe文件到底哪儿有问题吗?
  • ¥20 我的这个coe文件到底哪儿出问题了
  • ¥15 matlab使用自定义函数时一直报错输入参数过多
  • ¥15 设计一个温度闭环控制系统
  • ¥100 rtmpose姿态评估