注意点:
1. 对于输出结果是负数先输出负号
2.将结果转化成char类型来进行输出可以避免输出“,”的复杂操作。这里使用函数sprintf()实现。
代码如下:
#include <iostream>
#include <string.h>
#include <stack>
#include <math.h>
#include <vector>
#include <algorithm>
#define MAXNUM 0x3f3f3f3f
#define MAXLEN 101
#define STARTTIME 8 * 60 * 60
#define ENDTIME 21 * 60 * 60
#define max(a, b) (((a) > (b)) ? (a) : (b))
using namespace std;
int main()
{
int numA, numB, result;
char str[20];
int strLen, sPos;
scanf("%d %d", &numA, &numB);
result = numA + numB;
if(result < 0)
{
printf("-");
result = -result;
}
sprintf(str, "%d", result);
strLen = strlen(str);
sPos = strLen % 3;
for(int i = 0; i < strLen - 1; ++ i)
{
if((i - sPos + 1) % 3 == 0)
printf("%c,", str[i]);
else
printf("%c", str[i]);
}
printf("%c", str[strLen - 1]);
return 0;
}