第07章 高精度计算.pptVIP

  • 19
  • 0
  • 约1.03万字
  • 约 55页
  • 2016-12-30 发布于湖北
  • 举报
分析: 首先,题目中提到,整数的长度不会超过100位,所以这些整数只能采用字符数组读入。但在对每位进行求和时,可以采用字符形式,也可以采用整数形式。 本题用整数形式处理更方便。 样例输入: 1 99999278961257987 126792340765189 998954329065419876 432906541 23 0 方法:对读入的字符数组,以逆序的方式将各字符转换成对应的数值存放到整数数组(整数数组中剩余元素的值为0),然后再以整数方式求和,最后将求和的结果以相反的顺序输出各位。 在本题中,求和时要注意以下两点: 1)计算每位和时,得到的进位可能大于1,如图7.4所示。 2)累加各大数得到的和,其位数可能会比参与运算的大数的位数还要多。稍加分析即可得出结论,如果参与求和运算的大数最大长度为maxlen,因为参加求和运算的大数个数不超过100个,所以求和结果长度不超过maxlen+2。因此求和时可以一直求和到maxlen+2位,然后去掉后面的0,再以相反的顺序输出各位整数即可。 #include stdio.h #include string.h int main( ) { char buffer[200]; //存储(以字符形式)读入的每个整数 int array[200][200]; //逆序后的大数(每位是整数形式) int answer[200]; //及

文档评论(0)

1亿VIP精品文档

相关文档