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
#include <stdio.h>
#include <string.h>
int main()
{
int a,b;
scanf("%d%d",&a,&b);
int c=a+b;
if (c<0)
{
printf("-");
c=-c;
}
char str[11]; //小于11使用sprintf gcc会有警告?
sprintf(str,"%d",c);
int len = strlen(str);
int r = len%3; //计算余数,如果余数不为0先输出前几位
int i=0; //字符串指针
for(;i<r;i++) //输出前面1位或2位
printf("%c",str[i]);
if(r!=0 && i<len) //如果余数不为0并且没有输出完输出,
printf(",");
while(i<len) //循环输出剩下的
{
for (int j=0;j<3;j++)
printf("%c",str[i++]);
if (i<len)
printf(",");
}
}