1001 A+B Format (20 分)————字符串处理
文章目录1 题目2 参考代码:1 题目1001 A+B Format (20 分)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 f...
1 题目
1001 A+B Format (20 分)
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).
Input Specification:
Each input file contains one test case. Each case contains a pair of integers a and b where −106≤a,b≤106. 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
2 参考代码:
#include<cstdio>
#include<cstring>
int ans[10];
int main(int argc, char const *argv[])
{
int a,b;
scanf("%d %d", &a, &b);
int sum =0;
sum = a + b;
if(sum < 0){
printf("-");
sum = - sum;
}
int len = 0;
// if(sum == 0) ans[len++] = 0;
// while(sum != 0){
// ans[len++] = sum % 10;
// sum /= 10;
// }
do{
ans[len++] = sum % 10;
sum /= 10;
}while(sum);
for (int i = len - 1; i >= 0; --i)
{
printf("%d", ans[i]);
if(i % 3 == 0 && i != 0) printf(",");
}
printf("\n");
return 0;
}
参考代码2:
#include<cstdio>
#include<cstring>
int main(int argc, char const *argv[])
{
int a, b;
scanf("%d%d", &a, &b);
int sum = a + b;
if(sum < 0){
printf("-");
sum = - sum;
}
if(sum >= 1000000) printf("%d,%03d,%03d", sum / 1000000, sum % 1000000 / 1000, sum % 1000);
else if(sum >= 1000) printf("%d,%03d", sum / 1000, sum % 1000);
else {
printf("%d", sum);
}
printf("\n");
return 0;
}
更多推荐
所有评论(0)