题目

正整数n的阶乘,在数学上定义为:n!=1×2×3×…×n,如3!=1×2×3,现在输入一个正整数n(n≤30),计算出1~n中的每一个整数的阶乘的精确结果。小北按照上述要求,设计了一个求前n个正整数的阶乘问题的VB程序具有下述功能。在程序中,他采用加法代替乘法的方法来计算阶乘,如:3!=2!×3=2!+2!+2!。程序启动后在文本框Text1中输入n的值,单击“计算”按钮Command1后,在列表框List1中输出前n个数的阶乘,当n=10时,程序运行界面如图所示。 实现上述功能的VB程序如下,请在画线处填入合适的代码。 Const maxn=80 Dim i, j, k, n, r As Integer Dim a(1 To maxn)As Integer, b(1 To maxn)As Integer Dims As String Private Sub Form_Load( )     List1.Clear     For i=1 To maxn         a(i)=0     Next i End Sub Sub array_sum(j As Integer)    ‘该过程用于计算j!,并将j!的精确值按位保存在数组a中   For k=1 To j-1     For i=1 To maxn         r=    ①            If r>=10 Then    ②   =a(i+1)+1         a(i)=r Mod 10     Next i   Next k End Sub Private Sub Command1_Click( )   n=Val(Text1.Text)   a(1)=1   List1.AddItem"1!="&.Str(a(1))   For j=2 To n     For i=1 To maxn         b(i)=a(i)     Next i     s=""     Call array_sum(j)      ‘该语句用于调用自定义过程     s=s+Str(j)+"!="     k=maxn     Do While a(k)=0            ③       Loop     For i=k To 1 Step-1         s=s+Str(a(i))     Next i     List1.Addltem s   Next j End Sub 以上程序段运行时,为了实现上述功能,画线处应填入的代码分别为:①;②;③。 答案:【1】a(i)+b(i)【2】a(i+1)【3】k=k-1
信息技术 试题推荐
最近更新