整形转字符数组sprintf(str,“%d“,sum)

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 −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
#include <iostream>
#include<cstdio>
#include<algorithm>
#include<string.h>
#include<string>
#include<stack>
using namespace std;
#pragma warning(disable:4996)
//15:53
stack<char> st;
int main() {
	int a, b;
	scanf("%d %d", &a, &b);
	int sum = a + b;
	if (sum < 0) {
		printf("-");
		sum = -sum;
	}
	char str[10];
	sprintf(str, "%d", sum);
	int j = 0;
	for (int i = strlen(str) - 1; i >= 0; i--) {
		if (j ==3) {
			st.push(',');
			j = 0;
		}
		st.push(str[i]);
		j++;
	}
	while (!st.empty()) {
		printf("%c", st.top());
		st.pop();
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/ur_ytii/article/details/112887492