PAT甲级-1001. A+B Format (20)逗号分隔
2018-02-17 21:21
519 查看
1001. A+B Format (20)
时间限制400 ms内存限制65536 kB
代码长度限制16000 B
判题程序Standard作者CHEN, Yue
Calculate a + b and output the sum in standard format -- that is, the digits must be separated into groups of three by commas (unless there are less than four digits).InputEach input file contains one test case. Each case contains a pair of integers a and b where -1000000 <= a, b <= 1000000. The numbers are separated by a space.OutputFor each test case, you should output the sum of a and b in one line. The sum must be written in the standard format.Sample Input
-1000000 9Sample Output
-999,991计算A+B的值,结果的每3个数位用一个逗号分隔开。#include<bits/stdc++.h>
using namespace std;
#define MAXN 1000010
#define INF 0xfffffff
int main()
{
#ifdef ONLINE_JUDGE
#else
freopen("F:/cb/read.txt","r",stdin);
//freopen("F:/cb/out.txt","w",stdout);
#endif
ios::sync_with_stdio(false);
cin.tie(0);
int a,b,ans,i,j,cnt=0;
bool flag=true;//正负标志
cin>>a>>b;
ans=a+b;
//cout<<"ans="<<ans<<endl;
if(ans<0) flag=false,ans=abs(ans);
char s[MAXN],c[MAXN];
while(ans>0)//int转字符串
{
s[cnt++]=char(ans%10+'0');
ans/=10;
}
if(ans==0) c[0]='0';
cnt=0;
for(i=strlen(s)-1; i>=0; --i)
c[cnt++]=s[i];
//cout<<"c="<<c<<endl;
int len=strlen(c);
int temp=len/3;
if(len%3==0) --temp;//逗号个数
//cout<<"len="<<len<<endl;
cnt=0;
if(!flag) cout<<"-";
for(i=0; i<len-3*temp; ++i)
cout<<c[i];
if(temp>0)
{
cout<<",";
for(j=i; j<len; ++j)
{
if(cnt==3)
{
cnt=0;
cout<<",";
}
cout<<c[j];
++cnt;
}
}
cout<<endl;
return 0;
}
相关文章推荐
- PAT甲级1001. A+B Format (20)解题报告
- PAT甲级 1001. A+B Format (20)
- PAT甲级 1001. A+B Format (20)
- PAT甲级 1001. A+B Format (20)
- PAT甲级1001. A+B Format(20)
- 【PAT甲级】【C】1001. A+B Format (20)
- 1001. A+B Format (20)-PAT甲级刷题
- PAT甲级1001. A+B Format (20)
- PAT甲级-1001. A+B Format (20)
- 【PAT甲级】1001. A+B Format (20)
- PAT甲级1001. A+B Format (20)
- 1001. A+B Format (20)-PAT甲级真题
- PAT甲级.1001. A+B Format (20)
- pat甲级1001. A+B Format (20)
- PAT甲级 1001. A+B Format (20) 题目翻译与答案
- PAT甲级1001. A+B Format (20)
- PAT 甲级1001. A+B Format (20)
- PAT甲级 1001. A+B Format (20)--两种方法
- PAT(甲级)1001. A+B Format (20)
- 【PAT甲级】1001. A+B Format (20)