主题:1到n的阶乘求和 !!
sdys5201314
[专家分:0] 发布于 2008-04-08 23:16:00
怎么用C#编写 1!+2!+......+n!=y 的程序啊 ,要用循环语句写的, y 是双精浮点数. n是用键盘输入的.
哪位大哥帮帮忙 !!!!谢谢!!!!![em18][em18][em18]
最后更新于:2008-04-09 21:12:00
回复列表 (共3个回复)
沙发
RainnyX [专家分:30] 发布于 2008-04-09 16:17:00
两重循环啊。
内层算n!
外层算y=y+n!
板凳
wangxsw [专家分:20] 发布于 2008-04-09 20:44:00
#include<stdio.h>
main()
{
double y=0;
int n,i,j,s=1;
scanf("%d",&n);
for(i=1;i<=n;i=i+2)
{
for(j=1;j<=i;j++)
{
s=s*j;
y=y+s;
}
}
printf("%lf",y);
}
我就多余说明几句,能看明白就看吧
3 楼
zhongjiongsheng [专家分:20] 发布于 2008-04-10 20:45:00
#include<stdio.h>
main()
{
long int N(int); /*使用一个函数来做阶乘*/
long int i,n;
long double y=0;
puts("enter a number to be caculate:\n");
scanf("%ld",&n);
printf("n=%ld\n",n);
for(i=1;i<=n;i++)
y+=N(i); /*利用循环n次调用函数实现累加*/
printf("the result is %lf",y);
}
long int N(int x)
{
long int i,m=0;
m=x;
for(i=1;i<x;i++)
m*=(x-i);
return(m); /*将阶乘的结果赋值给m 并返回*/
}
我个人觉得用一个函数来实现阶乘会增加函数的可读性 上面是我的程序
应该比较清晰了吧
我来回复