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

#include using namespace std;int n(int num){    int r = 1;    for(int i=1;i<=num;i++){        r*=i;    }    return r;}int main(){    cout<

20!已经远远走出抄4字节整型范围袭,所以要2113用8字节整型或双精度浮5261点型来完成。下面4102给出1653两种写法供选用。

include "stdio.h" int fac(int k) { if(k==1) return 1; else return k*fac(k-1); }/*递归求阶乘*/ void main() { int i=1; for(i;i=5;i++) { fac(i);/*调用函数计算阶乘*/ sum+=fac(i);/*计算从1的阶乘到5的阶乘之和*/ } printf("sum=%d",su

(1)用8字节整型(long long型或__int64型)

#include int factorial(int n){int res = 1;for (int i = 2; i

#include "stdio.h"

#includefun(int n){int i,sum=0,t=1;for(i=1;i

__int64 f(int n){

//头文件名:jiecheng.h //可以自定义一个更好的名字 写的时候选择"文件"->"新建"->"文件"->"C/C++Header File" 文件保存在:安装目录->"VC98"->"Include"文件夹 int fac (int n){int i, sum = 1;for (i=1; i

if(n==1 || n==0)

1、打开vs2017软件,新建c语言的工程,首先开头引入头文件,然后调用先调用一下求阶乘的函数和空的主函数,最下方定义prime函数用来求阶乘: 2、主函数中用scanf函数接受用户输入的的数字,接着将输入的数传入处理阶乘的函数中完成计算,最后输

return 1;

return n*f(n-1);

}

int main(int argc,char *argv[]){

printf("20! = %I64d\n",f(20));

return 0;

}

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

c008e209b44df9ae844168612207ea90.png

(2)用double型完成

#include "stdio.h"

#includefun(int n){int i,sum=0,t=1;for(i=1;i

double f(int n){

if(n==1 || n==0)

1、打开vs2017软件,新建c语言的工程,首先开头引入头文件,然后调用先调用一下求阶乘的函数和空的主函数,最下方定义prime函数用来求阶乘: 2、主函数中用scanf函数接受用户输入的的数字,接着将输入的数传入处理阶乘的函数中完成计算,最后输

return 1;

return n*f(n-1);

}

int main(int argc,char *argv[]){

printf("20! = %.0f\n",f(20));

return 0;

}

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

5dc6d7790c432e87c396c36eef7f8384.png

#include int main(void){    __int64 sum,i,t;    for(t=sum=1,i=2;i<21;sum+=t*=i++);    printf("1!2113+2!+3!+...+20! = %I64d\n",sum);    return 0;}如果你的平台没5261有__int64型,可以4102用1653long long型。如版果也没有那就用double型,但结果不很精准权,|# includelong f(int n){if(n==0||zhin==1)daoreturn 1;elsereturn n*f(n-1);}int main(void){int i,n=20;long sum=0;for(i=1;i<=n;i++)sum=sum+f(i);printf("%ld\n",sum);return 0;}具体的你回再答看看内容来自www.mh456.com请勿采集。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值