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

 我来答
White_MouseYBZ
2019-06-25 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6418万
展开全部

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;

}

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

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式