编写程序,计算20!,要求用函数实现求阶乘并在主函数中调用该函数。

2024-12-04 06:52:07
推荐回答(1个)
回答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;

}

代码格式与运行结果图片: