1001 A+B Format (20 point(s))
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
题目大意:
计算两数和,用 ,
分隔的格式输出
设计思路:
- 使用格式化符号
'
,但标准库不一定支持(万事开头难,快速 AC,进军 Advanced Level) - 参考链接:How to format a number from 1123456789 to 1,123,456,789 in C?
编译器:C (gcc)
#include <stdio.h>
#include <locale.h>
int main()
{
int a, b;
scanf("%d%d", &a, &b);
setlocale(LC_ALL,"");
printf("%'d", a + b);
return 0;
}
/*
#include <stdio.h>
#include <string.h>
int main(void)
{
int a, b;
char num[10] = {0};
char *p = num;
scanf("%d %d", &a, &b);
sprintf(num, "%d", a + b);
if (*p == '-') {
printf("-");
p++;
}
int c = strlen(p) % 3;
if (c == 0)
c = 3;
for (; *p != 0; p++) {
if (c == 0) {
printf(",");
c = 3;
}
putchar(*p);
c--;
}
return 0;
}
*/