屏幕上蹦出来一个数字,正是1到n的阶乘之和。我当时那个激动啊,简直比中了彩票还高兴。 后来,我又把这个程序优化了一下,加了个输入提示,让用户自己输入n的值。代码大概长这样: ```c #include <stdio.h> int factorial(int n) { int result = 1; for (int i = 1; i <= n; i++) { result *...
int factorial_sum(int n) { int i,sum = 0; for(i = 1; i<=n; i++) { sum = sum + factorial(i); } return sum; } void main() { int n = 7; int result; result = factorial(n); printf("%d\n",result); n=4; result = factorial_sum(n); printf("%d\n",result); } 1....
include <stdio.h> int main() { __int64 fact = 1,i,sum = 0; int n; scanf("%d",&n); for(i = 1; i <=n; ++i) { fact *= i; sum += fact; } printf("sum = %I64d\n",sum); return 0;}注意类型 必须是8字节的整形 用__int64...
C语言100题练习专栏计划:目的:巩固练习C语言,增强上机、动手实践能力,交流学习!题量随时间的增加会有所增加。一、问题呈现 Problem Description 求1到n的阶乘之和(1<=n<=10) Input 输入整数n Output 1到n的阶乘之和 Sample Input 5 Sample Output
1、首先打开vc6.0,新建一个项目。2、添加头文件。3、添加main主函数。4、定义int变量i。5、定义double类型变量sum,mix,并赋予初始值。6、使用for循环求sum。7、使用printf打印sum。8、运行程序,看看结果。
首先fac函数没有定义返回类型;还有就是计算阶乘和计算的只是n的阶乘;include<stdio.h>int fac(int n) //返回类型为int型{ int sum = 0; int sum1 = 1; for(int j = 1; j <= n; j++) //从1开始计算阶乘,计算到n { for(int i = 1; i <= j; i++) ...
else return n*fac(n-1);//计算n的阶乘;} long sum(int n)//求阶乘相加之和;{ int s,k;for(s=0,k=0;k<=n,n>0;k++){ s=s+fac(n);n=n-1;} return s;} void main()//主函数 { int m;scanf("%d",&m);printf("%d\n",sum(m));} 这悬赏的分数确实对不起这么多的...
不是,可以用一个递归实现 include <stdio.h> int fun(int n){ if(n==1)return 1;else return n*fun(n-1);} int main(){ int n,sum=0;;printf("请输入n:\n");scanf("%d",&n);for (int i=1;i<=n;i++){ sum+=fun(i);} printf("sum=%d\n",sum);return 0;} ...
include<stdio.h>double fac(int n){if(n==0)return 1.0; return n*fac(n-1);}int main(){int i,n; double s=0; scanf("%d",&n); for(i=0;i<n+1;i++) s+=fac(i); printf("%.0lf\n",s); return 0;} ...
include<stdio.h> include<math.h> int main(){ int i,j,n,s1;double s;scanf("%d",&n);for(i=1,s=0;i<=n;i++){ for(j=1,s1=1;j<=i;j++)s1=s1*j;s=s+1.0/s1;} printf("%f",s);return 0;}