求1到20的阶乘之和的c语言程序怎么编写

求1到20的阶乘之和的c语言程序怎么编写,第1张

#include <stdioh>

long jiecheng(int x)

{

long int i,k=1;

for(i=1;i<=x;i++)

k=ki;

return k;

}

int main()

{

long int j,k=0;

int i;

for(i=1;i<=20;i++)

{

j=jiecheng(i);

k+=j;

}

printf("%ld\n",k);

}

扩展资料:

用递归方法

#include<stdio.h>

int func(intn){

int m=0;

if(n==1){

return1;

m=n*func(n-1);

returnm;

int main(intargc,constchar*argv[]){

int sum=0;

for(inti=1;i<=20;i++)

sum=sum+func(i);

printf("%d\n",sum);

return0;

程序如下:

#include "stdioh"

int main(void)

{

int i;

int acc=1;//用于存放阶乘

printf ("请输入一个整数i=");

scanf ("%d",&i);

for(;i>0;i--)

{

acc=i;

}

printf("该数的阶乘为acc=%d\n",acc);

return 0;

}

运用for循环来求阶乘。

运行结果:

如求十的阶乘

#include <iostream>

using namespace std;

void jc(int n)

{

int result=1;

for(;n>=1;n--)

{

result=n;

}

cout<<"该数字的阶乘为:"<<result;

}

int main()

{

int num;

cout<<"请输入要求阶乘的数字:";

cin>>num;

jc(num);

return 0;

}

随便写了个,C++环境下运行通过,仅供参考

输入一个正整数n,输出n!/#include <stdioh>                      //编译预处理命令

int factorial(int n);                   //函数声明

int main(int argc, char const argv[])  //主函数

{  

int n;                              //变量定义

 

scanf("%d", &n);                    //输入一个整数

 

printf("%d\n", factorial(n));       //调用函数计算阶乘

return 0;

}int factorial(int n)                    //定义计算n!的函数

{

int fact = 1;  

for (int i = 1; i <= n; ++i)

 

{     

fact = facti;

 

}

return fact;

}

特点

1. C语言是高级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行 *** 作,而这三者是计算机最基本的工作单元。

2.C语言是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

3.C语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。而且计算功能、逻辑判断功能也比较强大。

4. C语言适用范围大。适合于多种 *** 作系统,如Windows、DOS、UNIX、LINUX等等;也适用于多种机型。C语言对编写需要硬件进行 *** 作的场合,明显优于其它高级语言,有一些大型应用软件也是用C语言编写的。

利用阶乘的定义求解阶乘     

#include<stdioh>

void main()   

    int i,n;     

    long f=1;   

    scanf("%d",&n);

    for(i=1;i<=n;i++)

        f=fi;   

    printf("%d!=%ld",n,f);

}    

递归方法求阶乘

#include "stdioh"

long fact(int n)

{  

    long s;  

    if(n<=1)

        s=1; 

    else     

        s=nfact(n-1); 

    return s;

}    

void main()

{

    int num;   

    scanf("%d",&num);   

    printf("%d!=%ld\n",num,fact(num)); 

}

#include <stdioh>

long fac(int n);

int main(void)

{

    long sum=0;

    int num;

    printf("输入一个正整数:");

    scanf("%d",&num);

    for(int i=1;i<=num;i++)

        sum+=fac(i);

    printf("阶乘之和为:%ld\n",sum);

    return 0;

}

long fac(int n)

{

    if(n<2)

        return 1;

    else

        return nfac(n-1); 

}

为什么要求30的价乘数相当大啊~~~

简单写一个,希望符合要求哈~

#include

float

func(int

n){

if(n==1)

return

1;

return

(float)(nfunc(n-1));

}

void

main(){

int

n;

printf("\nfactorial

of

:");

scanf("%d",&n);

printf("result

is

%0f\n",func(n));

}

运行过程:

factorial

of

:30(用户输入要求价乘的数,这里我们输入30)

result

is

265252859812191068000000000000000

以上就是关于求1到20的阶乘之和的c语言程序怎么编写全部的内容,包括:求1到20的阶乘之和的c语言程序怎么编写、C语言:编写一个程序,要求输入一个整数,输出其阶乘、编写程序:计算n的阶乘(n!),设n=10。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10141197.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存