编写程序,计算20!,要求用函数实现求阶乘并在主函数中调用该函数。
1个回答
展开全部
20!已经远远走出4字节整型范围,所以要用8字节整型或双精度浮点型来完成。下面给出两种写法供选用。
(1)用8字节整型(long long型或__int64型)
#include "stdio.h"
__int64 f(int n){
if(n==1 || n==0)
return 1;
return n*f(n-1);
}
int main(int argc,char *argv[]){
printf("20! = %I64d\n",f(20));
return 0;
}
代码格式和运行结果图片:
(2)用double型完成
#include "stdio.h"
double f(int n){
if(n==1 || n==0)
return 1;
return n*f(n-1);
}
int main(int argc,char *argv[]){
printf("20! = %.0f\n",f(20));
return 0;
}
代码格式与运行结果图片:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |