南京中华中学官网:求教:这条题目用VB怎样编啊???

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 08:47:07
求S=1*i+2*i+3*i+...+10*i之和(1*i=1*1,2*i=1*2,3*i=1*2*3,...,10*i=1*2*3*...*10)
不好意思,打错字啦!将i改为!啊,也就是阶乘啊!
求S=1!+2!+3!+...+10!之和(1!=1*1,2!=1*2,3!=1*2*3,...,10!=1*2*3*...*10)

哈哈,前些天刚刚编了一个这样的玩。

可以先写一个函数处理阶乘

int num(int e)
{
int i = e;
int result = 0;
while(1)
{

if(i==0)
{
return result;
}
i = i -1;
result = e * i;
}
}

然后用一个for语句处理

#include <stido.h>
main()
{
int sum = 0;
int i;
for(i=1;i<=10;i++)
{
sum += num(i);
}

printf("the result is %i",sum);
}

我凭记忆写的哈,如果编译不通过,不要怪我,反正思路在这里了。

Dim i As Long, j As Long, S As Long, n As Long
For i = 1 To 10
n = 1
For j = 1 To i
n = n * j
Next j
S = S + n
Next i

n是每次的阶乘
S是最后的阶乘的总和

S=1*i + 2*i + 3*i + ... + 10*i 之和
(1*i=1*1,2*i=1*2,3*i=1*2*3,...,10*i=1*2*3*...*10)

先定义3个变量 i,a,s

for i=1 to 10
a=a*i
s=s+a
next i

s即为所求之和

你可以用
msgbox "1*i+2*i+3*i+...+10*i之和为" & s, ,vbokonly+vbinformation,"运算结果"

此句把结果显示出来

楼上的
a定义后需要赋值,a=1

s=0
s1=1
for i=1 to 10
for j=i to i
s1=s1*i
next
s=s+s1
next

可以把题目完整的放上来吗?其中i的意思有点模糊,再放上来,看能不能帮你!