关闭

zoj 2476 Total Amount

478人阅读 评论(0) 收藏 举报
//这题主要是大数相加!不过要注意,有小数点!输出的格式也非常严格!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 
*/




0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:486321次
    • 积分:8055
    • 等级:
    • 排名:第2501名
    • 原创:414篇
    • 转载:22篇
    • 译文:0篇
    • 评论:55条
    最新评论