分析下程序,阶乘可以用递归做,也可以用循环做,这里就放上这两种代码了。
一递归:
#include <stdioh>
int f(int t)
{
if (t==1)
return 1;
else
return tf(t-1);
}
int main()
{
printf("%d\n",f(10));
return 0;
}
程序分析:定义一个f函数,利用递归的特性,进行运算
10f(9) = 109f(8) …… 直到到1时返回1
得出结果:
二循环:
#include <stdioh>
int main()
{
int t1=1;
for(int i=10;i>=1;i--)
{
t1 = t1i;
}
printf("%d", t1);
return 0;
}
程序分析:直接用一个for循环进行自减即可完成,定义t1用于存储结果
得出结果:
#include"stdioh"
int mul(int n);
void main()
{
int i, n, num = 0;
printf("输入待连续阶乘并求和的整数个数为:");
scanf("%d", &n);
for (i = 1; i <= n; i++)
num += mul(i);
printf("1!+2!+3!++n!=%d\n", num);//这里printf()函数不需要&
}
int mul(int n)
{
int i, t = 1;
for (i = 1; i <= n; i++)
t = i;
return t;
}
public class Factorial
{
public long fun(int n)
{
if(n==1||n==0)
return 1;
else return nfun(n-1);
}
public static void main(String [ ] args)
{
long sum=0;
for(int i=100;i<=200;i++)
{
sum+=fun(i);
}
Systemoutprintln("100到200的阶乘数之和是 "+sum);
}
}
以上就是关于【在线等】c语言程序:对n的阶乘求和,n=1到10全部的内容,包括:【在线等】c语言程序:对n的阶乘求和,n=1到10、C语言编程求若干个连续整数的阶乘之和:1!+2!+3!+....+n!,要求求每个数的阶乘用函数来实现、求第100到200的阶乘数之和的java程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)