在窗体上有一个命令按钮,然后编写如下程序:  Function Trans(ByVal num As Long) As Long    Dim k As Long    k=l    Do While num       k=k * (num Mod 10

admin2009-01-15  27

问题 在窗体上有一个命令按钮,然后编写如下程序:
 Function Trans(ByVal num As Long) As Long
   Dim k As Long
   k=l
   Do While num
      k=k * (num Mod 10)
     num=num\10
   Loop
   Trans=k
   Print Trans
 End Function
 Private Sub Commandl_Click( )
   Dim m As Long
   Dim s As Long
   m=InputBox("请输入一个数")
   s=Trans(m)
 End Sub
  程序运行时,单击命令按钮,在输入对话框中输入“789”,输出结果为【  】,在输入对
话框中输入“987”输出【  】,在输入对话框中输入“879”,输出结果为【  】。

选项

答案504,504,504

解析 关键字ByVal用来实现传值,也就是说在定义通用过程时,如果形参前面有关键字Byval,则该参数用传值方式传递,否则用传址方式传递;在Sub过程中,先将输入的“456”赋给变量m,m作为参数,调用Trans过程;在Trans过程中以num作为Do While的循环条件;在循环体中,调用Mod函数,将num的个位数字与k相乘,然后赋给k,第一次循环时,num的值是789,所以k的值为9,执行num = num\10后,num的值为78,循环三次后,num变为0;退出循环,k值等于9×8×7=504,并将k的值作为返回值;当输入“987”或“879”时执行相同的操作,结果都为504。可以看出,此程序可用于求一个数值各位上数值的乘积。
转载请注明原文地址:https://kaotiyun.com/show/hM2p777K
0

最新回复(0)