主题:大数乘法--谁帮帮我!!!!!!
////乘法运算
private void button3_Click(object sender, EventArgs e)
{
a = textBox1.Text;
b = textBox2.Text;
int lenA = a.Length;
int lenB = b.Length;
//把字符串转成字符数组
char[] listA = a.ToCharArray();
char[] listB = b.ToCharArray();
//把listA,listB的存储顺序倒转一下,方便计算
char[] listAA = new char[lenA];
char[] listBB = new char[lenB];
for (int n = 0; n <lenA; n++)
{
listAA[n] = listA[lenA - n-1];
}
for (int n = 0; n < lenB; n++)
{
listBB[n] = listB[lenB - n-1];
}
//定义乘积数组,并初始化
int lenC = lenA + lenB;
int[] listC = new int[lenC];
for (int n = 0; n <lenA + lenB; n++)
{
listC[n] = 0;
}
int i, j;
for (i = -1; i <lenB-1; ++i)
{
int carry = 0;
for (j = -1; j <lenA-1; ++j)
{
//就这一句老是报错!!!各位大虾帮忙一下看看
//当前的乘积+上次乘积进位+原数
carry = Convert.ToInt32(listAA[i]) * Convert.ToInt32(listBB[j]) + carry / 10 + listC[i + j];
listC[i+j] = carry %10;
}
//进位
listC[i + j+1] = carry / 10;
}
for(i=lenC-1;i>=0;i--)
{
textBox3.Text += listC[i].ToString();
}
}
//在winform程序中,加入三个个TextBox,一个Command按钮,就可以实验上述程序了。
各位大虾帮帮忙,我在线等!谢谢
private void button3_Click(object sender, EventArgs e)
{
a = textBox1.Text;
b = textBox2.Text;
int lenA = a.Length;
int lenB = b.Length;
//把字符串转成字符数组
char[] listA = a.ToCharArray();
char[] listB = b.ToCharArray();
//把listA,listB的存储顺序倒转一下,方便计算
char[] listAA = new char[lenA];
char[] listBB = new char[lenB];
for (int n = 0; n <lenA; n++)
{
listAA[n] = listA[lenA - n-1];
}
for (int n = 0; n < lenB; n++)
{
listBB[n] = listB[lenB - n-1];
}
//定义乘积数组,并初始化
int lenC = lenA + lenB;
int[] listC = new int[lenC];
for (int n = 0; n <lenA + lenB; n++)
{
listC[n] = 0;
}
int i, j;
for (i = -1; i <lenB-1; ++i)
{
int carry = 0;
for (j = -1; j <lenA-1; ++j)
{
//就这一句老是报错!!!各位大虾帮忙一下看看
//当前的乘积+上次乘积进位+原数
carry = Convert.ToInt32(listAA[i]) * Convert.ToInt32(listBB[j]) + carry / 10 + listC[i + j];
listC[i+j] = carry %10;
}
//进位
listC[i + j+1] = carry / 10;
}
for(i=lenC-1;i>=0;i--)
{
textBox3.Text += listC[i].ToString();
}
}
//在winform程序中,加入三个个TextBox,一个Command按钮,就可以实验上述程序了。
各位大虾帮帮忙,我在线等!谢谢