问下VB编写一个小程序求1+2+3+...+10的值肿么编写啊

已举报 回答 关注

问下VB编写一个小程序求1+2+3+...+10的值肿么编写啊

  • 回答数

    7

  • 浏览数

    7,244

7个回答 默认排序
  • 默认排序
  • 按时间排序

已采纳
Private Sub Command1_Click()
Dim k As Integer, m As Integer
For k = 1 To 10
m = k + m
Next
Print m

End Sub
取消 评论
是C 语言吗?怎么看着不像?如果是 C ,以下的写法应该更普遍一点吧:
……;
scanf("%d,%d",&a,&b);
……;
printf("%d\n",a);
……;
scanf("%d",&c);
……
printf("%d\n",c);
……;
取消 评论
main()
{int i;
int n;
printf("Input for a number for N");
scanf("%d",&N);
for(i=1;i<=N;i++)
{n=n*i;
}
printf("%d!=",n);
}
-------------------------------------
或者这样改一下
for(i=n;i>=1;i--)
{
n=n*i
}
------------------------------------
#include <stdio.h>
void main()
{
double fac(int n);
int n;
double y;
scanf("%d",&n);
y=fac(n);
printf("%d!=%f",n,y);
}
double fac(int n)
{
double f;
if(n<0)printf("n<0,dataerror!"); /*判断数据的合法性*/
else
if(n==0||n==1)f=1; /*0和1的阶乘为1*/
else
f=fac(n-1)*n; /*函数的递归调用*/
return(f);
}

你只要10以内的阶乘和 把n改成10就可以了
取消 评论
这个问题比较的简单,楼上基本也给出了正确的解答。
不过我想提醒一个楼主的是,对于这一类的题,刚开始学语言的时候,最好是用循环来完成即是说for();do{}while;while{};宁产能加深你对语言的了解。不过如果学到一定阶段,最好摒弃这种做法,因为这种做法完全的不讲究效率,只图方便。最好的方法,还是利用数学公式。
如求和:1+2+3……100
学计算机的人可能会这样写
long sum=0;
for(int i=1;i<101;i++)
sum+=i;
如果你这样做,你的计算机老师可能给你满分,而你的数学老师则可能给你零分,还记得高斯的故事吗?他是这样做的
long sum=(1+100)*100/2;
大家可以简单算一下这两种算法的时间和空间复杂度的差别。
取消 评论
楼上正解
取消 评论
不如改成这样
for(int f = 1 ; f <= 99 ; f = f + 2) {
result += f;
}
取消 评论
Dim N&, i&, Total&
Private Sub Command1_Click()
N = InputBox("请输入n")
Call SumN(N)
Print Total
End Sub
Sub SumN(S&)
For i = 1 To S
Total = Total + i
Next
If S > 1 Then Call SumN(S - 1)
End Sub
取消 评论
ZOL问答 > 问下VB编写一个小程序求1+2+3+...+10的值肿么编写啊

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

提示

确定要取消此次报名,退出该活动?