发布时间:2019-08-07 18:24:34
#include<stdio.h>
int main()
{
double fact(int n);
double max(int ,int);
double b;
int c,d;
scanf("%d%d",&c,&d);
b=2*max(c,d);
printf("%lf %lf \n",b,2*max(c,d));
return 0;
}
double fact(int n)
{
int i;
double m;
m=1;
for(i=1;i<=n;i++)
m=m*i;
return m;
}
double max(int a,int b)
{
if(a>b) return fact(a);
else return fact(b);
}
fac(int n); 这个是C/C++常用的函数定义
其中的int n为函数的参数
它的值由你调用时决定
如你可以用
x=fact(3); //这里,n就等于3
你的程序中,是在max中调用的
当a>b时,它就调用fact(a) 否则调用fact(b)
而max又是由b=2*max(c,d); 来调用的,而这个c,d是由键盘输入的值
函数声明(少号)double返值fact函数名n参数int参数类型总说名fact函数接受int型参数n并向调用代码返double类型返值
函数名,声明一个fact函数,函数返回值是long int型,有一个参数,不过你这样是错误的,函数参数的类型也要标明,这个函数功能应该是求n的阶乘,可以用循环或者递归实现:long int fact(int n){ if(n==0||n==1) return 1; else return n*fact(n-1);}long int fact(int n){ int i; long int s=1; for(i=1;i<=n;i++) s*=i; return s;}
本回答由电脑网络分类达人 董辉推荐