(以下采用C++语言编写。)
1001 A+B Format
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).
题目翻译:
计算a+b,并以标准格式输出和——也就是说,必须用逗号将数字分成三组(除非小于四位数)。
Input Specification:
Each input file contains one test case. Each case contains a pair of integers a and b where −10^6 ≤a, b≤10^6. The numbers are separated by a space.
Output Specification:
For 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 9
Sample Output: 输出样例
-999,991
我的解法
完完全全是将a+b的结果看成是数字去解的。(步骤繁多。。。)
flag表示sum有几位数。
注意输出数字的顺序。(先按照 i 从1到flag将数字存到数组c,再按照 i 从flag到1输出c[i])
#include<iostream>
using namespace std;
int main(){
int a,b;
int sum=0;
int flag=0;//有几位数
int c[10]={
0};
cin>>a>>b;
sum = a+b;
if(sum<0){
cout<<"-";
sum=-sum;
}
//测试点4是和为0的情况
if(sum==0){
cout<<"0";
}
//普通情况
for(int i=1;sum>0;i++){
c[i]=sum%10;
sum=sum/10;
flag++;
}
for(int i=flag;i>=1;i--){
cout<<c[i];
if((i-1)%3==0 &&(i-1)!=0){
cout<<",";
}
}
}
大神的代码
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
string s

最低0.47元/天 解锁文章
222

被折叠的 条评论
为什么被折叠?



