基于visual Studio2013解决C语言竞赛题之0405阶乘求和

时间:2023-03-08 17:31:39
基于visual Studio2013解决C语言竞赛题之0405阶乘求和



基于visual Studio2013解决C语言竞赛题之0405阶乘求和

题目

基于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调试器” 执行

基于visual Studio2013解决C语言竞赛题之0405阶乘求和

程序运行结果

基于visual Studio2013解决C语言竞赛题之0405阶乘求和