c语言阶乘求和

用循环语句两for实现 别用调用函数

#include <stdio.h>
void main( ) {
int i,n,k=1,s=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{k*=i;s+=k;}
printf("%d",s);
}

//运行示例:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-31

输入以下程序可实现两个for求和:

#include<stdio.h>
void main()
{
int sum=0,n,m=1,i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1,m=1;j<=i;j++)
m*=j;
sum+=m;
}
printf("n的阶乘=%d\n",sum);
}

本回答被网友采纳
第2个回答  2014-10-17
什么叫阶层的和?比如输入1,3,是指sum=1*2+1*2*3?还是就是sum=1*2*3 #include<iostream> using namespace std; int main() { long number1,number2,t,product=1,sum=0,i; cin>>number1>>number2; if(number1>number2) { t=number1; number2=number1; number2=t; } for(number1;number1<=number2;number1++) { product=product*number1; sum=sum+product; } cout<<sum; return 0; } 补充: 懂你意思了。。 #include<iostream> using namespace std; int main() { long number1,number2,t,product=1,sum=0,i; cin>>number1>>number2; if(number1>number2) { t=number1; number2=number1; number2=t; } for(number1;number1<=number2;number1++) { product=1; for(i=1;i<=number1;i++) product=product*i; sum=sum+product; } cout<<sum; return 0; } 追问: sum=1+1*2+1*2*3...... 回答: 2 4 的话就是1*2+1*2*3+1*2*3*4吧??如果是的话就是上面这个程序。。。把sum=sum+product移到上面就行,在加个product重 赋值 就可以了
第3个回答  2012-06-15
#include "stdio.h"
void main()
{
int n,i,s;
int sum(int i);

scanf("%d",&n);
for(s=0,i=1;i<=n;i++)
s=s+sum(i);
printf("%d\n",s);
}
int sum(int i)
{int j,a;
for(a=1,j=1;j<=i;j++)
a=a*j;
return a;
}
第4个回答  2016-04-14
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
int main(void){
__int64 sum,x;
int n,i;
printf("Type n(int 0<=n<=20)...\nn=");
scanf("%I64d",&n);
for(sum=0,x=i=1;i<=n;x*=i++,sum+=x);
printf("The result is %I64d.\n",sum+1);//如果不计0!,则将sum+1改为sum
return 0;
}
相似回答