C语言通过函数来完成求1!+2!+....k!的和
答案:5 悬赏:0
解决时间 2021-03-14 12:02
- 提问者网友:他的思颖
- 2021-03-13 11:51
C语言通过函数来完成求1!+2!+....k!的和
最佳答案
- 二级知识专家网友:风格单纯
- 2021-03-13 12:27
#include
void main()
{
int k, i, s=0, s1=1;
scanf("%d",&k);
for (i=1; i<=k; i++)
{
s+=s1*=i;
}
printf("%d\n", s);
}
void main()
{
int k, i, s=0, s1=1;
scanf("%d",&k);
for (i=1; i<=k; i++)
{
s+=s1*=i;
}
printf("%d\n", s);
}
全部回答
- 1楼网友:悲观垃圾
- 2021-03-13 15:47
很简单 直接调用一个阶乘函数就可以实现:
#include
int factorial(int n);
int main(int argc, char *argv[])
{
int k;
int sum=0;
int i;
printf("输入一个整数:\n");
scanf("%d",&k);
if(k<1)
printf("输入错误");
for(i=1;i<=k;i++)
sum+=factorial(i);
printf("%d 阶乘之和为:%d\n",k,sum);
return 0;
getchar();
}
int factorial(int n)
{
if(n>1)
return(n*factorial(n-1));
return 1;
}
- 2楼网友:浪女动了心
- 2021-03-13 15:15
//调试过了
#include
double f(int k)
{ double t=0;int t1=1; int i,j;
for(i=1;i<=k;i++)
{
for(j=1;j<=i;j++)
t1=t1*j;
t=t+t1;t1=1;
}
return t;
}
int main()
{
int k;
printf("input k=");
scanf("%d",&k);
if(k<1)
{printf("\nk<1");return 0; }
printf("\nThe result is:%.0lf\n",f(k));
system("pause");
return 1;
}
- 3楼网友:野心和家
- 2021-03-13 14:27
#include
int main()
{
using namespace std;
int m=0,i=0;
cin >>m;
while(m!=0)
{
for(int n=1;n!=m;n++)
n*=m;
i+=n;
m--;
}
cout << "the result is " << i << endl;
system("pause");
return 0;
}
看看这样成吗?
- 4楼网友:魅世女王
- 2021-03-13 13:41
#include
int t ( int k, int a )
{
int i;
for ( i=1;i
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯