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
using System;
using System.Collections;
using System.Net.Mail;
namespace PAT甲级
{
class Program
{
static void Main(string[] args)
{
//Console.WriteLine(Convert.ToInt32('+'));
//int取值范围 +-10的9次方
string readValue = Console.ReadLine();
string OX = "";
string OY = "";
//空格ASCII吗为32 0:48 1:49 -:45 +:43
int flag = 0;
int[] a = { 0, 0 };
//获取空格位置
for (int i = 0; i < readValue.Length; i++)
{
if (readValue[i] == 32)
{
flag = i;
}
}
//区分操作数a和操作数b以及符号
for (int i = 0; i < readValue.Length; i++)
{
if (i < flag)
{
if (readValue[i] == 45)
{
a[0] = 1;
}
else if (readValue[i] == 43)
{
a[0] = 0;
}
else /*if (readValue[0] != 45 && readValue[0] != 43)*/
OX += readValue[i];
}
else if (i > flag)
{
if (readValue[i] == 45)
{
a[1] = 1;
}
else if (readValue[i] == 43)
{
a[1] = 0;
}
else
{
OY += readValue[i];
}
}
}
int OA = Convert.ToInt32(OX);
int OB = Convert.ToInt32(OY);
if (a[0] == 0)
{
OA = 2 * OA - OA;
}
else
{
OA = OA - (2 * OA);
}
if (a[1] == 0)
{
OB = 2 * OB - OB;
}
else
{
OB = OB - (2 * OB);
}
int sum = OA + OB;
string result = sum.ToString();
char[] result1 = new char[result.Length];
for (int i = 0; i < result.Length; i++)
{
result1[i] = result[result.Length - 1 - i];
}
for (int i = result1.Length-1 ; i >= 0; i--)
{
Console.Write(result1[i]);
if (i>0&&i%3==0&&result1[result1.Length-1]!=45)
{
Console.Write(',');
}
else if(i>0&&i%3==0&&i<4&&result1[result1.Length - 1] == 45)
Console.Write(',');
else if(i>0&&i%3==0&&i<7&& result1[result1.Length - 1] == 45&&result.Length==8)
Console.Write(",");
}
Console.ReadKey();
}
}
}