用VB编写程序,求S=1!+2!+3!+4!+5!+6!+7!+8!,并在窗体中输入S的值

来自:    更新日期:早些时候
编写程序,求S=1!+2!+3!+4!+5!+6!+7!+8!~

没用过VB,不清楚语法有什么差别。这里用了C++\C,你只要搞清思路就成了。
下面是使用递归函数求n!的函数

int fun(int n)
{
if(n==1)return(1);
else
return(fun(n-1)*n);
}

你调用函数时,例如要求8!,你就用fun(8);要注意,int整型数据的范围限制,使得这个函数只能求到12!,如果要更大范围要改用long int ,甚至自定义一个数据保存这个数。
求S=1!+2!+……+8!:

int sum=0,i;
for(i=0;i<8;i++)
{
sum+=fun(i+1);
}

下面是一个完整的C++/C程序例子

#include
using namespace std;
//如果是C,上面两行换成#include"stdio.h",下面cout改printf
int fun(int n);

int main()
{
int sum=0,i;
for(i=0;i<8;i++) //求S=1!+2!+……+8!
{
sum+=fun(i+1);
}
cout<<sum<<endl;//如果C,改用printf("%d
",sum)
return 0;
}

//下面是使用递归函数求n!

int fun(int n)
{
if(n==1)
return(1);
else
return(fun(n-1)*n);
}

Private Sub Command1_Click() For i = 1 To 10 f = 1 For j = 1 To i f = f * j Next j s = s + f Next i Print "Sum="; sEnd Sub

Private Sub Command1_Click()
me.show
Dim x As Long, sum As Long, n As Long
n = Val(InputBox("输入N值"))
For i = 1 To n
x = 1
For j = 1 To i
x = x * j
Next
sum = sum + x
Next
print sum
End Sub

一楼好搞笑 “你给的式子去掉感叹号就是了”

哈哈 我知道了
Dim b As Long, s As Long
Dim a!, n!
Private Sub Command1_Click()
Me.Cls
a = 1
sum = 0
For i = 1 To 8
b = a * i
a = b
s = s + b
Next
Print s
End Sub

Function alig(x)
n=1
for(u = 1 to x)
n=n*u
u=u-1
next
alig=n
end function
function doing(x)
n=0
u=x
do while(u>0)
n=n+alig(u)
u=u-1
loop
doing=n
end function
s=doing(8)'8!
print s


用VB编写程序,求S=1!+2!+3!+4!+5!+6!+7!+8!,并在窗体中输入S的值视频

相关评论:
  • 18544108309vb程序设计:S= 1-1\/4+1\/7-1\/10+1\/13-1\/16 求级数和直到最后一项小于0.0...
    廖剑祥Private Sub Form_Click()Dim sum#, n#, i#, sign sum = 0: n = 1: i = 1: sign = 1 Do sum = sum + n i = i + 3 sign = -sign n = sign \/ i Loop Until n < 0.01 Print "级数求和得结果为S=" & sum End Sub '希望对你有帮助!~ ^_^b ...

  • 18544108309用vb程序编写s=1+1\/4+1\/9+...+1\/100
    廖剑祥新建一个窗体,在窗体中添加一个text1和一个command1,双击command1添加如下代码:s=0 for i=1 to 10 s=s+1\/(i*i)next text1.text=s

  • 18544108309...编写程序:6. 用两种不同的方法求1+1\/1!+1\/2!+1\/3!+…+1\/n!_百...
    廖剑祥Private Sub Command1_Click()Dim i, t, s s = 1 For i = 1 To 50 s = s + 1 \/ fc(i)Next Print s, i End Sub Private Sub Command2_Click()Dim s, i, k s = 1 Do i = i + 1 k = 1 \/ fc(i)If k < 10 ^ (-6) Then Exit Do s = s + k Loop Print s...

  • 18544108309vb求s=100!解法编程序
    廖剑祥Sub fac() s = 1 For i = 1 To 100 s = s * i Next MsgBox "100!=" & sEnd Sub

  • 18544108309编写程序求s=1 +(1 +2) (1+ 2+ 3) … (1 +2 +3 …)
    廖剑祥Private Sub Command1_Click() s = 0 t = 0 For i = 1 To 30 t = t + i s = s + t Next i Print "s1="; s PrintEnd SubPrivate Sub Command2_Click() s = 0 t = 0 i = 1 Do Until s > 5000 t = t + i s = s + t i = i ...

  • 18544108309用VB编写程序,从1乘到100
    廖剑祥dim i as integer,j as variant j=1 '不加这行 j的值默认为0 结果也就是0了.for i = 1 to 100 j=j*i next msgbox j 'ps.结果很大..9E+157..'=== Dim s,i As Integer s=1 i=1 While i<=100 s=s*i i=i+1 Wend Print s ...

  • 18544108309编写一个vb程序计算1\/1!+1\/2!+…+1\/n!,要求定义一个函数来计算n!。
    廖剑祥function jiecheng(s)m=1 n=1 if s=1 then jiecheng=1 else for i=2 to s n=(i-1)*i m=m+1\/n end for jiecheng=m end if end function 大概是这样的,很久没用过VB了,所以具体的一些细节记不清楚了

  • 18544108309编写程序,求S=A! +B!+C!,阶乘的计算分别用Sub过程和Funtion过程两种方法...
    廖剑祥c = Val(InputBox("请输入一个大于0的整数C:"))If a > 0 And b > 0 And c > 0 Then n1 a n1 b n1 c MsgBox "A!+B!+C!=" & a + b + c End If End Sub Sub n1(n As Long)Dim i As Long, s As Long s = 1 For i = 2 To n s = s * i Next n = s ...

  • 18544108309求VB程序代码 1!+2!……20!的和
    廖剑祥src(i + 1) = src(i + 1) + src(i) \\ 10 src(i) = src(i) Mod 10 End If Next End Sub '主程序 Sub Main()Dim i As Integer Dim MDigit() As Integer Dim Sum() As Integer ReDim Sum(0), MDigit(0)Sum(0) = 0: MDigit(0) = 1 For i = 1 To 20 Multiply ...

  • 18544108309编写程序,求1*3*5*7...*101的值?
    廖剑祥include<stdio.h> void main(){ \/\/麻烦点个采纳 double sum = 1 ;int i = 1 ;for(i;i<=101;i+=2){ sum*=i;} printf("1*3*5*...*101=%d",sum);} 我用Java写的代码如下 class sum{ public static void main(String[] args){ double sum = 1;for(int i = 1 ;i<=101;...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网