ZOJ 2476 Total Amount (字符串处理)

来源:互联网 发布:passport视频软件 编辑:程序博客网 时间:2024/05/01 08:44

题意:

比较简单的题目,就是把给定格式的数字加起来,再按规定格式输出,想想感觉很简单,写起来还是不是很顺,wa了5次,能注意的点都注意了,重新写了一遍才过的。现在总结以下几点易错点:

1.像小于10和小于100的需要特判。

2.不要用double解,精度不能保证,最后处理也烦,建议直接把数字读出来,虽说范围是int内,但不知道数据会不会坑,最好用long long。

3.处理','的时候,要注意总长度减去小数点后两位后刚好能整除3的情况,要注意这种情况下最前面不能带有','。


总结:虽说是简单题,但是wa了这么多次实在是太不应该了,比赛的时候,就跪了,还是要加强手感呀奋斗,调试的时候可以把一些中间量输出,调试会更快。



下面贴下代码:

#include <iostream>#include <string>#include <algorithm>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<n;i++){  cin>>s;  ss="";  for(int j=1;j<s.length();j++)  {  if(isdigit(s[j]))  ss+=s[j];          }          ans+=StringToInt(ss);}sss=IntToString(ans);cout<<'$';if(ans<10)cout<<"0.0"<<ans<<endl;else if(ans<100)cout<<"0."<<ans<<endl;else{int x=(sss.length()-2)%3;int y=(sss.length()-2)/3;int p=0;for(;p<x;p++){cout<<sss[p];}for(int j=0;j<y;j++){if(x)cout<<',';else x=1;cout<<sss[p+j*3]<<sss[p+j*3+1]<<sss[p+j*3+2];}cout<<"."<<sss[sss.length()-2]<<sss[sss.length()-1]<<endl;}}return 0;} 


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 嘴巴被蜜蜂蛰了怎么办 被蜜蜂蜇伤了怎么办 婴儿被蜜蜂蜇了怎么办 婴儿被黄蜂蛰了怎么办 蜜蜂在石头缝里怎么办 中蜂蜂王不产卵怎么办 冲电器充电变慢怎么办 摇号审核通过后怎么办 京东白条开不了怎么办 得了病心里压力大怎么办 电视家看直播卡怎么办 日上提货单丢了怎么办 想直飞香港l签怎么办 u盘识别不出来怎么办 卫生间下水道有小飞虫怎么办 橙光一直闪退怎么办 若白回来了,长安怎么办 没了你以后我该怎么办 玩cf的时候闪退怎么办 婴儿嗓子哭哑了怎么办 宝宝嗓子哭哑了怎么办 小孩嗓子哭哑了怎么办 孩子嗓子哭哑了怎么办 月经来了晚上漏怎么办 在学校月经漏了怎么办 月经来了血下不来怎么办 想让月经快点来怎么办 孩子来月经不规律怎么办 一个月来2次月经怎么办 14岁月经不规律怎么办 不是经期内裤有黑色血怎么办 月经量多血块多怎么办 网友见面没上她怎么办 拔完智齿老流血怎么办 学车教练不教怎么办 想开奶茶店没有经验怎么办 宝宝吃多了不消化怎么办 吃了糖精和鸡蛋怎么办 小米平板2太卡了怎么办 小米平板2卡顿怎么办 小米4黑屏没反应怎么办