題意:
比較簡單的題目,就是把給定格式的數字加起來,再按規定格式輸出,想想感覺很簡單,寫起來還是不是很順,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