求阶乘和

来源:百度知道 编辑:UC知道 时间:2024/07/16 16:36:57
#include<stdio.h>
void main()
{
float z(float m,float n);
float f(float s1,float s2);
scanf("%d,%d",&m,&n);
printf("这两个数的阶乘的和为:%d",s);
}
float z(float m,float n)
{
int i,j;
float a=1,s=0;
for(i=1;i<10;i++)
{for(j=1;j<i;j++)
a=a*j;
s=s+a;
}
printf("%f",s);
}
float f(float s1,float s2)
{
float s;
s=s1+s2;
printf("%d",s);
}
求2个数阶乘和 请问该怎么改 在线等!!
题目是这样的
嵌套调用:求两个数的阶乘的和,要

编写三个函数:求和函数,求阶乘函数,主函

数。
求完整答案哈~

先不看你求阶乘对不对,你的主函数调用就有问题,

float f(float s1,float s2);//调用的时候参数不用再加float,返回类型float也不用加

语句顺序也错了,而且求阶乘和求和两个功能完全可以写在一个函数里,这样导致你float f(float s1,float s2); 参数不知道是哪个.

----------------------------------------------

嵌套调用:求两个数的阶乘的和,要

编写三个函数:求和函数,求阶乘函数,主函

数。

void main()
{
int m,n;
printf("请输入m和n:");
scanf("%d,%d",&m,&n);
printf("这两个数的阶乘的和为:");
z(m,n);
}

void z(int m,int n)
{
//求整数m的n阶乘和,嵌套调用求和函数f

int i,j;
float s1,s2,s=0;
for(i=1,s1=1;i<m;i++)
s1= (i+1)*s1;//得到m的阶乘m!

for(j=1,s2=1;j<n;j++)
s2= (j+1)*s2;//得到n的阶乘n!
s = f(s1,s2);
printf("%f",s);
}

float f(float s1,float s2)
{
float s;
s=s1+s2;
return s;
}

可不可以给具体数学公式,程序错误太多