PAT:A1001 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
代码:
C/C++:
#include<stdio.h>
#include<math.h>
int main() {
int a, b, temp, i = 0;
scanf("%d %d", &a, &b);
temp = a + b;
if(temp < 0) {
printf("-");
temp = -temp;
}
int str[10];
if(temp == 0) str[i++] = 0;
while(temp != 0) {
str[i++] = temp%10;
temp = temp/10;
}
for(int j = i-1; j >= 0; j--) {
printf("%d", str[j]);
if(j != 0 && j % 3 == 0) printf(",");
}
return 0;
}
Java:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a = in.nextInt();
int b = in.nextInt();
int c = a + b, len = 0;
if(c < 0) {
System.out.print("-");
c = -c;
}
int arr[] = new int[10];
do {
arr[len++] = c % 10;
c = c / 10;
} while (c != 0);
for (int i = len - 1; i >= 0; i--) {
System.out.print(arr[i]);
if(i != 0 && i % 3 == 0) {
System.out.print(",");
}
}
}
}