VB编程这题怎么写?

题目内容:由于计算机内部表达方式的限制,浮点运算都有精度问题,为了得到高精度的计算结果,就需要自己设计实现方法。如16/19的结果0.8421052631...可以模仿人... 题目内容:

由于计算机内部表达方式的限制,浮点运算都有精度问题,为了得到高精度的计算结果,就需要自己设计实现方法。如16/19的结果0.8421052631...

可以模仿人工列竖式做除法的方式,先将被除数乘以10,得到一位商以后,将余数乘以10作为下一轮计算的被除数:

160/19->8余8

80/19->4余4

...

当某次余数为0时,则表明除尽。

请写一个程序,输入一个分数,计算出它的小数形式。无论是否可以除尽,输出最多小数点后200位。

输入格式:

在如下图如示的文本框中输入两个数,并存储在a和b两个变量中,其中10<=a<b<100。也就是说,这个小数一定是小于1的正数。

输出格式:

单击显示命令按钮后,在窗体中显示 0.xxxxxxxxx的小数,每行显示20个数字,如果a/b是一个有限不循环小数,则输出完所有的有效位就可以了,不需要再输出后面的0来凑满200位。
展开
 我来答
discodjjack
2020-04-23 · TA获得超过784个赞
知道小有建树答主
回答量:565
采纳率:74%
帮助的人:162万
展开全部

vb2010写的程序运行两百次速度还可以,如果要运行再多的次数可以开个多线程去运算就不会卡了

运行前

运行后

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

        Dim 计数器 = 0

        TextBox4.Text = "0."

        Do While 计数器 < TextBox3.Text

            TextBox1.Text = TextBox1.Text * 10

            TextBox4.Text = TextBox4.Text & TextBox1.Text \ TextBox2.Text

            TextBox1.Text = TextBox1.Text Mod TextBox2.Text

            If (计数器 + 3) Mod 20 = 0 Then TextBox4.Text &= vbCrLf

            计数器 += 1

            If TextBox1.Text = 0 Then Exit Do

        Loop

        Label1.Text = "运算结束,共运算了" & 计数器 & "次"

    End Sub

chinaboyzyq
2020-04-23 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:3262万
展开全部
细节自己补充,
Private Sub Command1_Click()
Dim a As Integer, b As Integer
Dim c As Integer
a = 16
b = 19
Dim i As Integer
Print "0.";
For i = 1 To 200
a = a * 10
c = a \ b
a = a Mod b
Print CStr(c);
If i Mod 20 = 0 Then Print: Print " ";
If a = 0 Then Exit For
Next
Print
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
幸士相0U
2020-04-23 · 超过12用户采纳过TA的回答
知道答主
回答量:109
采纳率:41%
帮助的人:6.5万
展开全部
题目内容: 由于计算机内部表达方式的限制,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式