【前言:只是一个记录自己的做法博,目前是在vs里能成功运行并通过其提供的两组数据,但是提交的话状态还是wrong,今晚就先记录到这里,明天在继续检查是错在哪个细节。】
【回来补充此题,现在已经AC了,原因竟然是因为一开始的数组开得不够大。。。题目input的要求是1000,我写的是100,流下血泪。】
给的是两个数据相加,一开始我没有发现其范围过大,试着使用long 和long long进行过计算,都报错了,转念使用字符串来进行计算,当时已经想到了应该是两个字符串对应位置转换成数字进行计算并判断进位,然而还是有着偷懒想法,想使用atoi()函数来将字符串转换成数字进行加和计算,再使用itoa()函数转换回字符串输出,结果忽略了其转换成的数字是整型int,比long还小的范围,自然是报错了。。。
最终还是老老实实进行对应位置加和,首先说一下,我前面使用了结构体,可能直接使用数组要简单一点,但我想着它输出的case和输入应该是分开进行的,所以还是用的结构体方便输出,如果明天检查的时候找不到啥问题,我再把结构体换成数组试试。
我的思想:先判断两个字符串谁更长,并用(较长的长度+1)来定义(和sum数组)的长度,+1是因为防止进位溢出,比如5+5=10,需要进一位的,然后从个位开始进行加和并判断是否要进位操作,加好之后就可以输出了。
注意点:oj题目对于输出格式要求有点严格,两个case之间跨行了。
代码: