通常我们使用函数:int fun(n)实现阶乘求和功能;这次我们不用函数实现。而使用for循环。
#include <stdio.h>
int main ()
{
int i,j,n = 1,m = 1;
int sum = 0;
for(i=1; i<=10; i++)
{
for(j=1; j<=i; j++)
{
if(j==i)
{
n = m*j;
m = n;//记录当前阶乘的积
}
}
sum += n;
}
printf("the sum is %d\n",sum);
return 0;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
毋庸置疑,我们得到了我们想要的结果,但是此程序并不是最优化,我们可以对程序进行再优化。
#include <stdio.h>
int main ()
{
int i,j,n = 1;
int sum = 0;
for(i=1; i<=10; i++)
{
n *= i;
sum += n;
}
printf("the sum is %d\n",sum);
return 0;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
是不是觉得程序看起来没那么多冗余的部分了!理解之后,记得自己上机运行一下哟~~~