求!1+!2+!3+!4+!5 注:!5=1*2*3*4*5; 求用C语言编出来 我学到循环结构 求解 最好写些注释让我容易懂
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求!1+!2+!3+!4+!5 注:!5=1*2*3*4*5; 求用C语言编出来 我学到循环结构 求解 最好写些注释让我容易懂相关的知识,希望对你有一定的参考价值。
你说只学到循环,所以本程序中没有用自定义函数。用一个二重循环来描述合式中出现的一般项,而每次求一般项是,均需把k归1。#include<stdio.h>
main()
int i,j,k,sum=0;
for(i=1;i<=5;i++)
k=1;
for(j=1;j<=i;j++)
k*=j; /*用k表示合式中的一般项,如:1!,2!
循环中i表示其中的1,2。而j是求阶乘的辅助变量*/
sum+=k; /*sum用来存放各项之和*/
printf("1!+2!+3!+4!+5!=%d\n",sum);
参考技术A #include<stdio.h>
int cal(int num)//计算!num
int result=1;
for(int i=1;i<=num;i++) //!num=1*2*3*..*(num)
result*=i;
return result;
int main()
int sum=0;
for(int i=1;i<=5;i++)
sum+=cal(i);
printf("%d\n",sum);
为了简单,只使用了循环。。 参考技术B int sum=0;//记录求和
for(int i=1;i<=5;i++)//枚举1-5
int t=1;//记录阶乘
for(int j=1;j<=i;j++)//计算1-i的阶乘
t=t*i;阶乘
sum=sum+t;求和
参考技术C 这个题目应该有这样的一个思路的!!首先必须要有两个变量,一个用来存累计和,一个用来存阶乘,即累积积!!求阶乘时可以利用函数递归调用,然后有了这个思路就应该好做啦!!
long power(int m)
long f;
f=m*power(m-1);
return f;
main()
int i,n,sum=0;
for(i=1;i<=5;i++)
sum+=power(i);
printf("%d",sum);
程序就是这样子的!!如果有点问题的话,你可以上机去调试,问题应该不是很大的!!
VB求三角形面积
给定三角形的3条边长,计算三角形的面积。编写程序,首先判断给出的3条边能否构成三角形,如可以构成,则计算并输出该三角形的面积,否则要求重新输入。当输入-1时介绍程序。
-------------------------------------------------------
请问高手是否可以通过弹出框来输入长度!!还有注意下最后句话啊!!
==============
Private Sub Form_Load()
Do
Dim a As Single, b As Single, c As Single, p As Single, s As Single
a = Val(InputBox("请输入三角形第1条边长"))
If a = -1 Then Exit Do
b = Val(InputBox("请输入三角形第2条边长"))
If b = -1 Then Exit Do
c = Val(InputBox("请输入三角形第3条边长"))
If c = -1 Then Exit Do
p = (a + b + c) / 2
If a >= p Or b >= p Or c >= p Then
MsgBox "不能构成三角形"
Else
s = Sqr(p * (p - a) * (p - b) * (p - c))
MsgBox "面积为" & s
End If
Loop
End
End Sub 参考技术A 1、海伦公式:p为三角形的周长的一半,而a,b,c分别为三角形三边的长度,
S=p(p-a)(p-b)(p-c)=[(a+b+c)(a+b-c)(a+c-b)(b+c-a)]/2
2、已知底边和高,计算就简单了
3、已知两边和夹角,先求出第三边,再使用第一项计算
其他的类似。源程序如下:
Option
Explicit
Dim
A
As
Double,
B
As
Double,
C
As
Double
Dim
Ja
As
Double,
Jb
As
Double,
Jc
As
Double
Dim
S
As
Double
Private
Sub
Form_Load()
S
=
S1(3,
6,
8)
'已知三边,求面积
MsgBox
"三边:3、6、8,面积是"
&
S
S
=
S1(3,
6,
C1(3,
6,
30
*
3.142
/
180))
'已知两边和夹角,求面积
MsgBox
"两边及夹角:3、6、30,面积是"
&
S
S
=
S2(3,
6)
'已知底和高,求面积
MsgBox
"底和高:3、6,面积是"
&
S
End
Sub
Private
Function
C1(A
As
Double,
B
As
Double,
Jc
As
Double)
As
Double
C1
=
Sqr(A
*
A
+
B
*
B
-
2
*
A
*
B
*
Cos(Jc))
End
Function
Private
Function
S1(A
As
Double,
B
As
Double,
C
As
Double)
As
Double
S1
=
(A
+
B
+
C)
*
(A
+
B
-
C)
*
(A
+
C
-
B)
*
(B
+
C
-
A)
/
2
End
Function
Private
Function
S2(D
As
Double,
G
As
Double)
As
Double
S2
=
D
*
G
/
2
End
Function 参考技术B 设三边长分别为a,b,c。
a,b,c满足a+b>c,a+c>b,b+c>a即可为三角形。
求面积用海伦公式:
S=√[p(p-a)(p-b)(p-c)]
(p为三角形半周长,p=(a+b+c)/2 )
弹出框请使用InputBox语句。 参考技术C Private Sub btnInput_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInput.Click
Dim dbl1 As Double = CDbl(InputBox("请输入第一条边长度:", , CStr(0)))
Dim dbl2 As Double = CDbl(InputBox("请输入第二条边长度:", , CStr(0)))
Dim dbl3 As Double = CDbl(InputBox("请输入第三条边长度:", , CStr(0)))
If dbl1 = -1 OrElse dbl2 = -1 OrElse dbl3 = -1 Then Exit Sub
If dbl1 + dbl2 <= dbl3 OrElse dbl2 + dbl3 <= dbl1 OrElse dbl1 + dbl3 <= dbl2 Then
MsgBox("输入的三边长度无法组成一个三角形!")
Else
Dim MianJi As Double
Dim P As Double = (dbl1 + dbl2 + dbl3) / 2
MianJi = Math.Sqrt(P * (P - dbl1) * (P - dbl2) * (P - dbl3))
MsgBox(MianJi)
End If
End Sub
以上是 Visual Basic 2005 的代码。
以上是关于求!1+!2+!3+!4+!5 注:!5=1*2*3*4*5; 求用C语言编出来 我学到循环结构 求解 最好写些注释让我容易懂的主要内容,如果未能解决你的问题,请参考以下文章
数学(数列)求1-2+3-4+5-6+……+99-100的值。求详细过程,谢谢。