<pre name="code" class="cpp">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ceshi3
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入第一个加数");
string one = Console.ReadLine();
Console.WriteLine("请输入第er个加数");
string two = Console.ReadLine();
string res = BigAdd(one, two);
//Console.WriteLine(res);
foreach (var item in res)
{
Console.WriteLine(item);
}
}
static string BigAdd(string a, string b)
{
int k = 0;
List<int> array = new List<int>();
List<int> one = new List<int>();
List<int> two = new List<int>();
//for (int i = 0; i < a.Length; i++)
//{
// one.Add(int.Parse(a[i].ToString()));
//}
//for (int i = 0; i < b.Length; i++)
//{
// two.Add(int.Parse(b[i].ToString()));
//}
for (int i = 0; i < (a.Length > b.Length ? a.Length : b.Length); i++)
{
if (i >= b.Length)
//two.Add(0);
two.Insert(i - b.Length, 0);
else
two.Add(int.Parse(b[i].ToString()));
if (i >= a.Length)
one.Add(0);
else
one.Add(int.Parse(a[i].ToString()));
}
for (int j = 0; j <= (a.Length > b.Length ? a.Length : b.Length); j++)
{
array.Add(0);
}
for (int i = (a.Length > b.Length ? a.Length : b.Length) - 1; i >= 0; i--)
{
array[i + 1] += (one[i] + two[i])% 10;
k = (one[i] + two[i])/ 10;
array[i] += k;
}
if (k == 0)
{
array.RemoveAt(0);
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < array.Count; i++)
{
sb.Append(array[i]);
}
string s = sb.ToString();
//Console.WriteLine(s);
return s;
}
}
}
c#实现大数相加(字符串) string AddBig(string a, string b)
最新推荐文章于 2022-10-07 20:57:37 发布