罗马数字是阿拉伯数字传人之前使用的一种数码。罗马数字采用七个罗马字母作数字,即I(1)、X(10)、C(100)、M(1000)、V(5)、L(50)、D(500)。记数的方法如下:
①相同的数字连写,所表示的数等于这些数字相加得到的数,如Ⅲ=3;
②小的数字在大的数字的右边,所表示的数等于这些数字相加得到的数,如Ⅷ=8、XⅡ=12;
③小的数字(限于Ⅰ、X和C)在大的数字的左边,所表示的数等于大数减小数得到的数,如Ⅳ=4、Ⅸ=9;
王老师设计了一个将罗马数字转换成阿拉伯数字的程序,实现该功能的程序代码如下:
Private Sub Command1_Click()
Dim a(1 To 10)As String
Dim b(0 To 10)As Integer
Dim x As String,c As Integer,j As Integer
x=Text 1.Text
j=Len(x)
b(0)= 0
c=0
For i=1 To j
a(i)= Mid(x,j-i+1,1)
b(i)=zh(a(i))
If
① Then
c=c-b(i)
Else
c=c+b(i)
End If
Next i
Label2.Caption="结果:"+Str(c)
End Sub
Function zh(xAs String)As Integer
s="IVXLCDM"
zh=1
For i=1 To 7
If Then Exit For Elself ② Then zh=zh*5 Else zh=zh*2 End If Next i End Function
(1)
程序界面如图所示,程序中共包含个对象。
(2)
加框处代码有错,应改为。
(3)
为完善程序,在划线处填入合适的代码。
①②
(4)
罗马数字MCMLXXX转换成阿拉伯数字为。
答案: 【1】5
【1】x=Mid(s,i,1)
【1】b(i)<b(i-1)And(a(i)="I"Or a(i)="X" Or a(i)="C")【2】i Mod 2=1
【1】1980