VB程序设计 1、 编程计算S=1/1!+1/2!+1/3!+…..+1/n! ,n的值通过inputbox从键盘输入,计算结果在窗体上输

如题所述

Private Sub Command1_Click()
Dim i As Integer, j As Integer, n As Integer
Dim sum1 As Long, sum2 As Long
n=inputbox("请输入n的值")
sum1 = 0
sum3=1
For i = 1 To n
sum2 = 1
For j = 1 To i
sum2 = sum2 * j
sum3=sum2^(-1)
Next j
sum1 = sum1 + sum3
Next i
Label1.Caption = Label1.Caption + Str(sum1)
End Sub

需要一个button 和一个lable,结果在lable上显示追问

输出的答案不对呀,全是等于2。为什么呢?

追答

我这里没有平台。不应该吧。没觉得哪里错了。你在试试。

追问

你是学VB程序设计的吗?帮我解决几道题,好吗?可以加你QQ吗?

追答

把sum2=1 放到for i=1 to n上边

追问

还是全部答案都等于2!呵呵

追答

Private Sub Command1_Click()
Dim i As Integer, j As Integer, n As Integer
Dim sum1 ,sum2, sum3 As Single
n = InputBox("请输入n的值")
sum1 = 0
sum2 = 1
sum3 = 1
For i = 1 To n
For j = 1 To i
sum2 = sum2 * j
sum3 = sum2 ^ (-1)
Next j
sum1 = sum1 + sum3
Next i
Label1.Caption = Label1.Caption + Str(sum1)
End Sub
这回可以了。我用vb调试过了。之前我错了。忘了你这个不是整数结果。都是小数。这回没错了!

温馨提示:内容为网友见解,仅供参考
无其他回答

关于c语言的题“求S=1\/1!+1\/2!+1\/3!+…+1\/N!”我知道算法但是我的结果最...
你的程序没有问题,结果也没有问题。是因为double类型的有效位数是15位,到了第16位及后面的数字,就没有意义了。这里要涉及截断误差和积累误差。二进制无法精确表示某些十进制小数,而计算机内存容量又是有限的,所以在表示十进制数值时,必然会因为参与表达数值小数部分的二进制位数有限而产生误差。而这...

编写程序求s=1+1\/2!+1\/3!+……+1\/n的值。
include <stdio.h> int main(void){ unsigned long n;unsigned long i;double s = 0.0;printf("Please input n:");scanf("%lu", &n);for(i = 1; i <= n; i++)s += 1.0 \/ i;printf("s=%lf\\n", s);return 0;} ...

...计算S=1+1\/3+1\/5+1\/7+……+1\/n,n由键盘输入?
s,n=0,int(input('请输入n:'))for i in range(1,n+1,2):s+=1\/i print(s)

...n,计算s = 1\/1! + 1\/2! + 1\/3! + ……+ 1\/n!的值
第二空:f=1 第三空:j<=k 第四空:f*=j

用C语言编程s=1+1\/2!+1\/3!+1\/4!+……+1\/n!其中n的值由键盘输入(急...
include <stdio> double a(int num){ double s=1;for(int i=1;i<=num;i++)s=s*i;return s;} void main(){ int n;scanf("%d",&n);double s=0;for(int i=1;i<=n;i++)s+=1.0\/a(i);printf("%f",s);}

使用嵌套循环:e = 1+1\/1!+1\/2!+...+1\/n!
4、输入一个正整数并将其保存在变量k中。5、使用while语句执行循环,并确定条件为judge。6、用if语句确定。如果sum>k,则将变量judge的值更改为0。7、最后,输出公式值。8、运行程序。当输入正整数时,当公式s=1+1\/2+1\/3+…+1\/n大于正整数k时,计算机将计算n的值。

以下程序的功能是调用函数fun计算1\/1!+1\/2!+1\/3!+...+1\/n!的值,并输...
(2) e=e*(1.0\/i);(3) t=fun(n);例如:include <stdio.h> void fun(double *sn, int n);int main(void){ int n;double Sum;printf("Please input n: ");scanf("%d", &n);\/* 本部分代码功能建议:调用相应的函数计算S *\/ \/* Limit: lines<=1, lineLen<=50, 考生可在本...

C++ 编写函数,计算1\/1!+1\/2!+1\/3!+ … +1\/n!。在主函数中输入n的值...
include<iostream>#include<cmath>#include<iomanip>double fun(int a);int main(){using namespace std;int n = 0;double result;cout << "Enter the number:";cin >> n;cin.get();result = fun(n);cout << setiosflags(ios::fixed) << setprecision(2) << result << "\\n";return...

编写一个C语言程序:求S=1\/1+1\/2+1\/3+…+1\/n
include<stdio.h> void main(){ int i,n;double t,s=0;scanf("%d",&n);for(i=1;i<=n;i++){ t=1.0\/i;\/\/原因在这1和i都是int类型,1\/i就是整除了,只要i>1这个式子就是0,改1.0下就行了。s=s+t;} printf("s=%lf\\n",s);} ...

调和数列S=1\/1+1\/2+1\/3+...+1\/ n
调和数列求和公式是S=1\/1+1\/2+1\/3+...+1\/n。一、调和数列的释义 调和数列是指以倒数为通项的数列,即数列的每一项都是其位置的倒数。调和数列可以表示为:1,1\/2,1\/3,1\/4,1\/5等等。调和数列是数学中的一类特殊数列,与等差数列、等比数列等常见数列不同。在调和数列中,每一项都是前一项...

相似回答
大家正在搜