原题:sum=1!+2!+.......+n!=
求解:
两种处理方法:
1:利用函数
2:利用多重循环
自然看到这个题目最容易想到函数法:自我感觉函数结构分明,思路清晰,更容易完成。
#include<stdio.h>
int fact(int n);
int main()
{
double sum = 0;//初始化不忘了
int n,i;
//首先写下大结构(把每个阶乘当作具体的数)
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
sum = sum + fact(i);//大结构,然后再去定义函数
}
printf("1!+2!+...+n! = %f", sum);
return 0;
}
//定义函数
int fact(int n)
{
int j=1, result = 1;//这里是用来乘,不能是0;
for(j;j<=n;j++)
{
result *= j;
}
return result;
处理起来挺方便的
若用多重循环,略复杂些许,但书写时也按照函数模块化来写便会简单些
#include<stdio.h>
int main()
{
int n;
int i, sum = 0;
int j = 1;
int item = 1;
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
item = 1; //非常关键,每次算阶乘置item=1;
for (j = 1; j <= i; j++)
{
item = item * j;
}
sum=sum+item;
}
printf("%d", sum);
return 0;
}
以上两种方法各有优缺点,也或许有更多处理方法,作者能力有限,若以后有心得,再来更新。