zoj 2476 Total Amount

原创 2012年03月31日 10:41:37
//这题主要是大数相加!不过要注意,有小数点!输出的格式也非常严格!WA了很多次,因为没有考虑到全是0.00相加的情况! 
#include "iostream"
#include "string"
#include "memory.h"
#include "cctype"
#include "algorithm"
using namespace std;

int temp[20], ans[20];

int main()
{
    int N, i, j, k, len, count;
    string input, output;
    while (cin >> N && N)
    {
          output = "";
          memset(ans, 0, sizeof(ans));
          for (i = 0; i < N; i++)
          {
              cin >> input;
              memset(temp, 0, sizeof(temp));
              len = input.length();
              for (j = 0, count = 0; j < len; j++)//将字符转换为数字 
              {
                  if (isdigit(input[len-1-j]))
                  {
                  temp[count] = input[len-1-j] - 48;
                  count++;
                  }
              }
              for (j = 0; j < 20; j++)//大数相加的一般做法! 
              {
                  ans[j] = temp[j] + ans[j];
                  ans[j+1] += ans[j] / 10;
                  ans[j] = ans[j] % 10;
              }
              
          }
          for (j = 0; j < 20; j++)
          if (ans[20-1-j] != 0)
          break;
          k = 20-1-j;
          k = k >= count-1 ? k : count-1;//判断是否忽略了前导0,这个需要特别留意,很容易出错! 
          for (j = 0, i = 1; j <= k; j++, i++)//格式的输出! 
		  {
          output += ans[j] + 48;
		  if (j == 1)
		  {
			  output += ".";
			  i = 0;
		  }
		  if (i%3 == 0 && i != 0 && i != k-1)
		  {
			  output += ",";
		  }
		  }
		  output += "$";
          reverse(output.begin(), output.end());
          cout << output << endl;
    }
	return 0;
}
/*
3
$11,999,999.99
$99,999,999.99
$111,999,999.11
3
$0.00
$0.00
$0.00 
*/




Total Amount zoj 2476

Total Amount Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Submit S...
  • u011471397
  • u011471397
  • 2013年11月27日 08:40
  • 692

zoj 2476 Total Amount

Given a list of monetary amounts in a standard format, please calculate the total amount.We define t...
  • ACM__dongsheng
  • ACM__dongsheng
  • 2016年05月10日 20:48
  • 617

ZOJ 2476 Total Amount

ZOJ   2476   Total Amount               题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?proble...
  • fghdvbgt
  • fghdvbgt
  • 2014年02月25日 11:22
  • 663

ZOJ 2476 Total Amount

#include #include #include #include #include #include #include #include #include #include ...
  • lmyclever
  • lmyclever
  • 2013年03月22日 10:54
  • 897

zoj 2476 Total Amount(水~)

给你money数,小数点左边三位一个逗号那种,小数点后有且仅有两位小数。让你相加后输出。由于 All amounts and the total amount are between $0.00 an...
  • zxy_snow
  • zxy_snow
  • 2011年01月22日 09:51
  • 1430

ZOJ 2476 Total Amount 字符串

给你n串数字组成的字符串,要求输出他们相加的和。 如:n= 2 输入$1,123.45和$2,890.23要求输出$4,013.68...
  • murmured
  • murmured
  • 2014年01月03日 23:45
  • 859

ZOJ 2476 Total Amount (字符串处理)

题意: 比较简单的题目,就是把给定格式的数字加起来,再按规定格式输出,想想感觉很简单,写起来还是不是很顺,wa了5次,能注意的点都注意了,重新写了一遍才过的。现在总结以下几点易错点: 1.像小于10和...
  • David_Jett
  • David_Jett
  • 2015年02月06日 22:08
  • 626

ZOJ Problem Set - 2476 Total Amount

Total Amount Time Limit: 2 Seconds      Memory Limit: 65536 KB Given a list of monetary amounts in...
  • acm_1361677193
  • acm_1361677193
  • 2015年01月26日 21:01
  • 176

B-Total Amount (ZOJ 2476)

Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Submit Status Practice...
  • u013534690
  • u013534690
  • 2014年03月31日 15:38
  • 656

ZOJ 2476 Total Amount A的好辛苦

点击打开链接 Total Amount Time Limit: 2 Seconds      Memory Limit: 65536 KB Given a list of monetary am...
  • Dinivity123
  • Dinivity123
  • 2013年11月25日 08:57
  • 838
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:zoj 2476 Total Amount
举报原因:
原因补充:

(最多只允许输入30个字)