题意:
比较简单的题目,就是把给定格式的数字加起来,再按规定格式输出,想想感觉很简单,写起来还是不是很顺,wa了5次,能注意的点都注意了,重新写了一遍才过的。现在总结以下几点易错点:
1.像小于10和小于100的需要特判。
2.不要用double解,精度不能保证,最后处理也烦,建议直接把数字读出来,虽说范围是int内,但不知道数据会不会坑,最好用long long。
3.处理','的时候,要注意总长度减去小数点后两位后刚好能整除3的情况,要注意这种情况下最前面不能带有','。
总结:虽说是简单题,但是wa了这么多次实在是太不应该了,比赛的时候,就跪了,还是要加强手感呀
,调试的时候可以把一些中间量输出,调试会更快。
下面贴下代码:
#include
#include
#include
using namespace std; long long int StringToInt(string s) { long long int res=0,flag=1; for(int i=s.length()-1;i>=0;i--) { res+=flag*(s[i]-'0'); flag*=10; } return res; } string IntToString (long long int x) { string res=""; if(x==0) { res+='0'; return res; } while(x) { res+=(x%10+'0'); x/=10; } reverse(res.begin(),res.end()); return res; } int main() { int n; long long int ans=0; string s,ss,sss; while(cin>>n&&n) { ans=0; for(int i=0;i
>s; ss=""; for(int j=1;j