用vb解:输入一个自然数n,求 ,同时统计结果中有多少个0.

如题所述

求啥???你好像没打出来。。。

只要统计结果有多少个0。。我用个土方法把。。
dim MStr as string
MStr=cstr(Sum) 'Sum代表统计结果
dim ICount as integer,I as integer
I=instr(MStr,"0")
while I>0
ICount=ICount+1
I=instr(I,MStr,"0")
wend
msgbox "统计结果共有:" & ICount & "个0"追问

求 n!

追答

Dim i As Integer, tot As Double
tot = 1
For i = 1 To n
tot = tot * i
Next i
MsgBox tot

追问

能讲解一下么

追答

for语句中,I会步进,即从1加1一直到N,而N!就是n*(n-1)*(n-2)*……*2*1。那么倒过来就是我们For语句中的运算了。

或者你也可以:For i=n to 1 step -1,之后一样

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-01-07
Private Sub Command1_Click()
Dim n As Integer, i As Integer, bb As String
n = InputBox("请输入n")
bb = 1
For i = 1 To n
bb = bb * i
Next
Print bb
For i = 1 To 9
bb = Replace(bb, CStr(i), "")
Next i
Print "共有" & Len(bb) & "个0"
End Sub
第2个回答  2016-03-02

第3个回答  2013-06-13
求?什么?追问

用vb解:输入一个自然数n,求 n! ,同时统计结果中有多少个0.

追答

dim i as integer
dim n as integer
dim jc as single

n=inputbox("请输入n值:")
jc=1
for i=1 to n
jc=jc*i
next
如果只是统计结果中0的个数,用上面的方法就可以。

追问

也要求n!

追答

我这一段就是求N!的,如果统计0的个数,就用

随风V随梦
的那一段程序就好了。
N!就是计算1到N的连乘,这里用循环实现从1到N的连乘,得出积jc就是要求的N!。

第4个回答  2016-02-22
输入n之后呢,求什么?

用vb解:输入一个自然数n,求 ,同时统计结果中有多少个0.
dim MStr as string MStr=cstr(Sum) 'Sum代表统计结果 dim ICount as integer,I as integer I=instr(MStr,"0")while I>0 ICount=ICount+1 I=instr(I,MStr,"0")wend msgbox "统计结果共有:" & ICount & "个0"

vb,输入一个自然数n,求n!同时统计结果中有多少个0
a=val(inputbox("请输入一个数"))b=1 for i=1 to a b=b*i next i for j=1 to len(str(b))if mid(str(b),j,1)="0" then c=c+1 end if next j print str(a) & "!=" & str(b)print "有" & str(c) & "个0"

...2. 编写一个程序,在文本框中任意输入一个自然数N,单击“计算”按钮则...
1. 随机产生30~100 (包括30 、100 )的20个正整数,显示整个数组的值,并求最大值、最小值、平均值,显示结果。2. 编写一个程序,在文本框中任意输入一个自然数N,单击“计算”按钮则将斐波那契数列的第N项显示在标签中,如图压缩包中所示。sy62.rar 3. 编写一个英文打字训练的程序,要求如...

VB编程输入任意一个正整数N如果N为偶数,求N的阶乘如果N为奇数,求1...
Dim N As Integer Console.WriteLine("请输入一个正整数 N:")N = Integer.Parse(Console.ReadLine())If N Mod 2 = 0 Then ' 如果 N 是偶数,计算 N 的阶乘 Dim factorial As Long = 1 For i As Integer = 2 To N Step 2 factorial *= i Next Console.WriteLine("N 的阶乘为:" ...

VB程序设计题:由输入对话框输入n(n必须为大于零且小于30的自然数),
Private sub form_click()Dim n as integer, sum as double, k as integer N = val(inputbox(“n=”,”请输入自然数n(n>0且n<30)”))Do while n <= 0 !! or !! n > 30 N = val(inputbox(“n=”,”请重新输入”))Loop Sum = 0 K = 0 Do K = !! k+1 !!Sum = ...

VB中输入一个自然数,判断其是否是素数的代码
Private Function IsPrimeNumber(ByVal n As Integer) As Boolean Dim i As Integer For i = 2 To (n - 1) If n mod i = 0 Then IsPrimeNumber = False Exit Function End If Next i IsPrimeNumber = TrueEnd Function ...

输入一个大于2的自然数N,编程判断是否是素数,如果是输出"YES",否则输 ...
Private Sub Command1_Click()Dim i%, n n = Val(InputBox("输入一个正整数吧!"))For i = 2 To int (sqr(n - 1))+1 If n Mod i = 0 Then Exit For Next MsgBox IIf(i >= int (sqr(n - 1))+1, "yes!", "no!")End Sub 支持妮可, 不过不想浪费时间和资源 ...

编写VB程序将1到100自然数中同时被3和5整除的数打印出来,并统计其个数...
新建一个工程,添加一个command1,添加一个list1 private sub command1_click()dim sum as long sum = 0 for i = 1 to 1000 if i mod 5 = 0 and i mod 7 = 0 then list1.additem i:sum = sum +1 next msgbox "1-1000中能被5和7同时整除的数有"& sum & "个"end sub ...

编写程序,输入一个自然数n,判断n是否是个位数为6且能被3整除的5位数...
'编写程序,输入一个自然数n,判断n是否是个位数为6且能被3整除的5位数。'用VB写出如下的过程请参考 Sub qsrzrs()On Error GoTo exitsub Dim n As Single '若定义成整形时一旦误输入小数则会取整后参与运算造成误判,'所以还是在过程当中进行判断输入的是否为自然数 n = InputBox("请输入一个...

在vb中的文本框里输入一个数,按下按钮后,如何判断它是否是整数_百度知 ...
就是用ASCII码的方式,来限制输入只能为数字:在TextBox的KeyPress事件中加入代码 Private Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii >=48 And KeyAscii <=57 Then KeyAscii = 0 Else Msgbox "Error"End If End Sub 如果回答得让你满意,你就加分,好了,就这样!参考资料:vilus ...

相似回答