用c语言写一程序“求一阶乘加二阶乘......到十阶乘(双函数解决)”谢谢,急用,非常感谢

如题所述

第1个回答  2013-07-09
#include "stdio.h"
int jc(int n)
{
  int s=1;
  for(i=1;i<=n;i++)
   s=s*i;
  return s;

void main()
{
  int sum=0,i;
  for(i=1;i<=10;i++)
    sum=sum+jc(i);
   printf("he=%d\n",sum);
}

纯手打,望采纳。

追问

谢谢,请问这是用了双函数的吗?

追答

一个主函数,一个JC函数。

第2个回答  2013-07-09
#include "stdio.h"
void main()
{
long sum=0,temp=1;
int i,j;
for(i=1;i<=10;i++)
{
for(j=1;j<=i;j++)
{
temp=temp*j;
}
sum=sum+temp;
temp=1;
}
printf("%ld",sum);
}
第3个回答  2013-07-09
#include "stdio.h"
void main(void){
int i,j,k,sum;
for(sum=0,i=1;i<11;i++){
for(k=1,j=i;j>1;k*=j--);
sum+=k;
}
printf("1!+2!+3!+...+10!=%d.\n",sum);
}追问

这是用了双函数吗?

追答

#include "stdio.h"

int fact(int m){
if(m==1) return 1;
else return m*fact(m-1);
}
int sumadd(int n){
int i,sum;
for(sum=0,i=1;i<=n;sum+=fact(i++));
return sum;
}
void main(void){

printf("1!+2!+3!+...+10!=%d.\n",sumadd(10));
}

第4个回答  2013-07-09
#include <stdio.h>

int fact(int n)
{
int x = 1;
int i;
for (i = 1; i <= n; i++)
x *= i;
return x;
}

int calc(int n)
{
int sum = 0;
int i;
for (i = 1; i <= n; i++)
sum += fact(i);
return sum;
}

int main()
{
printf("%d",calc(10));
return 0;
}

追问

这主函数里怎么那么简单啊?

追答

那你要怎样?计算过程全在函数里面了,主函数就简单了。要不写成这样?

int main()
{
int answer = calc(10);
printf("%d", answer);
return 0;
}

 你说的“双函数”是指除了主函数还有两个函数,还是加上主函数一共是两个函数?

追问

除了主函数,还有两个函数

追答

那就对了:
fact(int n)这个函数用于计算n的阶乘。
calc(int n)这个函数用于计算1!+2!+3!+...+n!。
主函数里调用calc计算出1!+2!+3!+...+10!然后输出出来。

追问

哦,谢谢

哦,谢谢

用c语言写一程序“求一阶乘加二阶乘...到十阶乘(双函数解决)”谢谢...
include "stdio.h"int jc(int n){ int s=1; for(i=1;i<=n;i++) s=s*i; return s;} void main(){ int sum=0,i; for(i=1;i<=10;i++) sum=sum+jc(i); printf("he=%d\\n",sum);}纯手打,望采纳。

C语言for循环 求1--10阶乘的和
include <stdio.h> void main(){ int a,b,c;int sum=0;for(a=1;a<=10;a++)\/\/控制1-10个数字 { for(b=1,c=1;b<=a;b++)\/\/控制每个数的阶乘 { c=b*c;} sum+=c;\/\/把结果累加在sum中 } printf("10的阶乘之和为:%ld\\n",sum);} \/\/前面的几位帅哥,有没有编译啊?...

c语言阶乘的算法
1的阶乘+2的阶乘+、、、+10的阶乘。include<stdio.h> // 计算 1!+2!+3!+……+10!int main(){ int n = 10;//这里输入你想结算的阶乘 int ret1 = 1;int i = 1;int j = 1;int ret2 = 0;for (i = 1; i <= n; i++){ ret1 *= i;ret2 +...

c语言求1到10阶乘的和
include <stdio.h>void main(){int i,k=1,s=0;for(i=1;i<=10;i++) {k*=i;s+=k;}printf("1!+2!+...+10!=%d",s);} 运行结果截图:

C语言怎样用递归方法编写程序 求s=1!+2!+3!+...10!
思路:先通过程序获得阶乘的值,之后再将阶乘相加,求阶乘时和相加时都用递归的写法 首先是求阶乘:int factorial(int index){ int sum = 0;if (index == 1){ sum = 1;}else{ sum = index * factorial(index-1);} return sum;} 之后再求和:int add_recursion(int maxnum){ int sum =...

用C语言编写程序,求1到10的阶乘之和:S=1!+2!+3!+4!+5!+6!+7!+8!+9...
for(j=1;j<=i;j++)\/\/阶乘循环 { mul=mul*j;} sum=sum+mul;} printf("%d",sum);system("pause");return 0;} C11标准:2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了C语言的新标准,名叫ISO\/IEC 9899:2011 - Information technology -- Programming languages ...

求用c语言把1到10的阶乘的和
求1~10阶乘和C语言程序如下:visual C++6.0编译,仅供参考。include <stdio.h> int fact(int num){ if(num>1){ return num*fact(num-1);} else { return 1;} } int main(){ int n;int sum;sum=0;for(n=0;n<=10;n++){ sum+=fact(n);} printf("0!+1!+...10!=%d\\n"...

c语言问题,求一的介乘加二的介乘加到二十的介乘,我编的程序运行不出来...
{ k *= a;\/\/k就是阶乘的结果,不用专门弄个循环。s += k;} printf("%I64u\\n",s);} 如果是C语言的话就要专门编个大数计算了。必须要编大数的乘法,输出这两个功能了。但是如果是C++,VC有个64位整数数据类型 为__int64, 输出时用 %I64d 但是g++的64位数据类型为 long long ,输出时...

1到100的阶乘 C语言程序
include <stdio.h> void main(){ int i,j;long fun ;for(i = 1;i<=100;i++){ fun =1;for(j=1;j<=i;j++)fun*=j;printf("%d! = %ld\\n",i,fun);} } 满意请采纳

求用c语言把1到10的阶乘的和
求1~10阶乘和C语言程序如下:visual C++6.0编译,仅供参考。 #include <stdio.h> int fact(int num) { if(num>1) { return num*fact(num-1); } else { return 1; } } int main() { int n; int sum; sum=0; for(n=0;n<=10;n++) { sum+=fact(n); } printf("0!+1!+...10!=%d...

相似回答