回 帖 发 新 帖 刷新版面

主题:大数乘法--谁帮帮我!!!!!!

////乘法运算
        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按钮,就可以实验上述程序了。
各位大虾帮帮忙,我在线等!谢谢

回复列表 (共2个回复)

沙发

距离对语言产生信仰还有多远?其实语言只是工具,重要的是编程思想!
欢迎加入 程序员(.Net分群) 47686018

板凳

距离对语言产生信仰还有多远?其实语言只是工具,重要的是编程思想!
欢迎加入 程序员(.Net分群) 47686018

我来回复

您尚未登录,请登录后再回复。点此登录或注册