就到6! 不要到n的
æè·¯ï¼å ç¨éå½æ±åºä¸ä¸ªæ°çé¶ä¹ï¼æ¥çfor循ç¯ç´¯å æ±åã
åè代ç ï¼
#include<stdio.h>int fun(int n){
if(n==1) return 1;//éå½ç»ææ¡ä»¶
return n*fun(n-1);//éå½å¼
}
int main()
{
int sum=0,i;
for(i=1;i<=6;i++)//for循ç¯ç´¯å æ±å
sum+=fun(i);
printf("%d\n",sum);
return 0;
}
/*
è¿è¡ç»æï¼
873
*/
温馨提示:答案为网友推荐,仅供参考
第1个回答 2012-05-08
main函数调用的时候n传6就是求到6!的和了。
#include "stdafx.h"
#include <stdio.h>
long fac[7]={0};//定义存储阶乘的全局数组
int getFac(int n){//递归求阶乘
if(fac[n]!=0)return fac[n];
else if(n==1){
fac[1]=1;return fac[1];
} else if return fac[n]=n*getFac(n-1);
}
int getSum(int n){//递归求和
if(n<0)return -1;//输入n非法
if(n==0) return 0;
else return getFac(n) + getSum(n-1);
}
int main(int argc, char* argv[])
{
printf("1!+2!+3!+4!+5!+6!=%d\n",getSum(6));//调用
return 0;
}
#include "stdafx.h"
#include <stdio.h>
long fac[7]={0};//定义存储阶乘的全局数组
int getFac(int n){//递归求阶乘
if(fac[n]!=0)return fac[n];
else if(n==1){
fac[1]=1;return fac[1];
} else if return fac[n]=n*getFac(n-1);
}
int getSum(int n){//递归求和
if(n<0)return -1;//输入n非法
if(n==0) return 0;
else return getFac(n) + getSum(n-1);
}
int main(int argc, char* argv[])
{
printf("1!+2!+3!+4!+5!+6!=%d\n",getSum(6));//调用
return 0;
}
第2个回答 推荐于2016-08-09
#include<stdio.h>
int f(int x){
if(x==1) return 1;
return x*f(x-1);
}
int main()
{
int sum=0;
for(int i=1;i<=6;i++)
{
sum=sum+f(i);
printf("f(%d)=%d\n",i,f(i));
}
printf("sum=%d",sum);
return 0;
}本回答被提问者和网友采纳
int f(int x){
if(x==1) return 1;
return x*f(x-1);
}
int main()
{
int sum=0;
for(int i=1;i<=6;i++)
{
sum=sum+f(i);
printf("f(%d)=%d\n",i,f(i));
}
printf("sum=%d",sum);
return 0;
}本回答被提问者和网友采纳
第3个回答 2012-05-08
void main()
{int sum=0;
int temp=1;
for(int n=1;n<7;n++)
{
for(int m=1;n<m+1;m++)
{
temp*=m;
}
sum+=temp;
temp=1;
}
printf("1!+2!+3!+4!+5!+6!=%d",sum);
}
{int sum=0;
int temp=1;
for(int n=1;n<7;n++)
{
for(int m=1;n<m+1;m++)
{
temp*=m;
}
sum+=temp;
temp=1;
}
printf("1!+2!+3!+4!+5!+6!=%d",sum);
}
第4个回答 2012-05-08
// fac的作用是求i的阶乘
int fac(int i)
{
if(i == 1)
return 1;
else
return i*fac(i-1);
}
int main()
{
int i = fac(1)+fac(2)+fac(3)+fac(4)+fac(5)+fac(6);
}
int fac(int i)
{
if(i == 1)
return 1;
else
return i*fac(i-1);
}
int main()
{
int i = fac(1)+fac(2)+fac(3)+fac(4)+fac(5)+fac(6);
}