数据结构 长数的代数运算
最佳回答
最新回答共有2条回答
-
2026-03-31 02:34:48幽默的鼠标
回复参考资料:Dim a(),b(),c() As Byte '定义输入和输出数组Sub Main()ts = "整数乘法"xx = InputBox("请输入被乘数:",ts)If xx = "" Then Endyy = InputBox("请输入乘数",ts)If yy = "" Then Enda1 = Len(xx) '取xx的位数b1 = Len(yy) '取yy的位数c1 = a1 + b1 '确定结果的最大位数ReDim a(a1),b(b1),c(c1) '重定义数组For i = 1 To aa(i) = Mid(xx,a1 - i + 1,1) '给数组a的每一位赋值If Not IsNumeric(a(i)) Then '检查输入的合法性MsgBox "被乘数输入错误",,tsEndEnd IfNext iFor i = 1 To b1b(i) = Mid(yy,b1 - i + 1,1) '给数组b的每一位赋值If Not IsNumeric(b(i)) Then '检查输入的合法性MsgBox "乘数输入错误",,tsEndEnd IfNext iFor i = 1 To c1 '结果数组c初始化c(i) = 0Next iFor i = 1 To b1 '取b中的每一位For j = 1 To a1 '取a中的每一位c(j + i - 1) = c(j + i - 1) + b(i) * a(j) '相乘结果累加到c中的相应位zz = c(j + i - 1)k = 0Do While zz >= 10 'c中的每一位进位检查c(j + i + k - 1) = zz Mod 10 '本位处理c(j + i + k) = c(j + i + k) + zz \ 10 '进位处理zz = c(j + i + k)k = k + 1LoopNext jNext izz = ""For k = c1 To 1 Step -1If c(k) 0 Then Exit For '去掉结果中的前导0Next kk = IIf(k < 1,1,k)For i = k To 1 Step -1zz = zz + Trim(Str(c(i)))Next izz = xx + " X " + yy + " = " + zzts = "计算结果:" + Str(a1) + "位 X " + Str(b1) + "位 结果为" + Str(k) + "位"MsgBox zz,,ts '算式和结果输出EndEnd Su
热门文章
- 康达学院专转本五年制
- 高考一个考场分ab卷吗
- not only but also用法
- 某物体做自由落体运动,从释放开始计时,则物体在前2s内的平均速度为______m/s,物体下落2m时的速度大小为______m/s.
- 三角函数公式大全表格
- 地理中考必背知识点2022
- 2013-2014学年小学六年级科学上学期期末考试试卷及答案
- 人教版2014-2015学年小学五年级英语第二学期期中教学质量检测试卷及答案
- 【Linux驱动开发】设备树详解(二)设备树语法详解
- 别跟客户扯细节
- 在别的城市买房子能落户吗
- 卖房前要把装修贷还完吗
- 高中政治教学提高教学效果的方法探究
- “互联网+”背景下的初中英语课堂教学改革与创新策略研究
- 2022年终止合同范本
- 租房合同范本范文
- 如何挑选土豆
- 如何挑选土鸡
