您的位置:首页 > 其它

ZOJ 2476 Total Amount

2013-03-22 10:54 316 查看
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <vector>
#include <cmath>
#include <iostream>
#include <algorithm>
#include <functional>
#include <string>
#include <map>
#include <cctype>

using namespace std;

char str[200];

int main()
{
//freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
int n;
char ch;
double num;
double sum;
while(scanf("%d",&n)!=EOF)
{
getchar();
if(n==0)
break;
sum=0;
for(int i=0; i<n; i++)
{
num=0;
bool isxiaoshu=false;
double xiaoshu=0.1;
while(true)
{
ch=getchar();
if(ch=='$'||ch==',')
continue;
else if(ch=='.')
{
isxiaoshu=true;
}
else if(ch=='\n')
{
break;
}
else
{
if(isxiaoshu)
{
num+=(ch-'0')*xiaoshu;
xiaoshu=xiaoshu/10;
}
else
{
num=num*10+ch-'0';
}
}
}
sum+=num;
}
sprintf(str,"%.2lf",sum);

int len=strlen(str);
printf("$");
int f=(len-3)%3;
int c=(len-3)/3;
int index=0;
for(; index<f; index++)
{
printf("%c",str[index]);
}
for(int i=0; i<c; i++)
{
if(index!=0)
printf(",");
printf("%c",str[index++]);
printf("%c",str[index++]);
printf("%c",str[index++]);
}
printf("%c",str[index++]);
printf("%c",str[index++]);
printf("%c",str[index++]);
printf("\n");
}
return 0 ;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: