标签:style blog http color io ar for 2014 div
思路是先设计一个函数计算阶乘,再用循环,逐个求和。
#include<stdio.h> int mul(int n) { int num,i; num=1; for(i=1;i<=n;i++) num=num*i; return(num); } void main() { int i,sum=0; for(i=1;i<=10;i++) sum+=mul(i); printf("The sum is %d\n",sum); }
这个代码只能计算1~10的阶乘的和,而稍微修改一下:
#include<stdio.h> int mul(int n) { int num,i; num=1; for(i=1;i<=n;i++) num=num*i; return(num); } void main() { int i,n,sum=0; printf("Enter the number:\n"); scanf("%d",&n); if(n<=0) printf("Error\n"); else { for(i=1;i<=n;i++) sum+=mul(i); printf("The sum is %d\n",sum); } }
显然好了不少 ,就可以计算1~n的阶乘之和,但是有超过integer的风险,不如直接修改为:
#include<stdio.h> double mul(int n) { int i; double num; num=1.0; for(i=1;i<=n;i++) num=num*i; return(num); } void main() { int i,n; double sum=0; printf("Enter the number:\n"); scanf("%d",&n); if(n<=0) printf("Error\n"); else { for(i=1;i<=n;i++) sum+=mul(i); printf("The sum is %d\n",sum); } }
结果大了不少。
标签:style blog http color io ar for 2014 div
原文地址:http://www.cnblogs.com/wangshunli/p/3983236.html