基于visual Studio2013解决C语言竞赛题之0405阶乘求和
题目
解决代码及点评
这道题和上一道题类似,第n个累加项 = n-1累加项的n倍
由于有这个规律,我们可以用一个for循环实现
但是例子代码并没有这么做,大家可以回去修改下代码,使得代码更加有效率
这个代码把n的阶乘写成了一个函数
/************************************************************************/ /* 5. 用循环语句编写求 1到20的阶乘的程序。 */ /************************************************************************/ #include <stdio.h> #include <stdlib.h> #include <math.h> int f45(int num) // 实现阶乘的函数 { int sum=1; if (num==0) { return sum; } for ( int i=1;i<=num;i++) // 使用for循环,累乘所有项 { sum*=i; } return sum; } void main() { int totlesum=0; for (int i=1;i<21;i++) // 21阶乘累加 { totlesum+=f45(i); // f45函数实现了i的阶乘,每次累加返回值 } printf("和为:%d",totlesum ); system("pause"); }
代码下载及其运行
代码下载链接:
http://download.csdn.net/detail/yincheng01/6640761
解压密码为c.itcast.cn
下载解压后用VS2013打开工程文件
点击 “本地Windows调试器” 执行
程序运行结果