求个C语言程序:将1到20的阶乘累加

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求个C语言程序:将1到20的阶乘累加相关的知识,希望对你有一定的参考价值。

将1到20的阶乘累加的C语言程序如下:

#include<stdio.h>

#include<string.h>

long long getdata(long long n) 

    long long sum = 1;

    while(n)        

        sum*=n--;

   

    return sum;

int main()  

    long long sum = 0;

    long long nums = 20;

    while(nums)      

        sum+=getdata(nums--);

   

    printf("%lld",sum);  

参考技术A

#include<stdio.h>

main()

int i,sum=0,j; for(i=1;i<=20;i++) 

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

sum+=j*(j+1);  

printf("1-20的阶乘的和为%d",sum);

参考技术B #include <stdio.h>
main()

double res=1.0;
int i;
for(i=1;i<=20;i++)
res*=i;

printf("result=%lf",res);
参考技术C # include "stdio.h"
void main()

int n,i,j,sum=0,t=1;
printf("please enter a number:");
scanf("%d",&n);
for(i=0;i<n;t=1,i++)
for(j=n-i;j>0;j--)

t*=j;

sum+=t ;

printf("\n1!+....+%d!=%d",n,sum);

shell编程递归求阶乘

#!/bin/sh
fn_result=1
fn_init()
fn_result=1

fn_calc()
if [ $number -le 0 ];
then
return 0
else
fn_calc `expr $number - 1`
fn_result=`expr $fn_result \* $number`
fi
return 0

fn_init
echo "please input the number:"
read number
fn_calc $number
echo $fn_result

代码如上,运行起来输入number的值之后,不显示结果也不退出,为什么啊?怎么改才可以呢?还有由于版本的不同,是不是即使代码相同的程序,在这个系统上运行正确那个系统上运行却不一定正确?还有,用expr和直接用()计算出算术表达式,有什么区别,用的时候有什么讲究吗?shell新手,请多多指教~

fn_calc()
if [ $number -le 0 ];
then
return 0
else
fn_calc `expr $number - 1`
fn_result=`expr $fn_result \* $number`
fi
return 0


这里的$number 都应当改成$1
输出也应当在函数内完成
参考技术A fn_calc()

if
[
$number
-le
0
];
then
return
0
else
fn_calc
`expr
$number
-
1`
fn_result=`expr
$fn_result
\*
$number`
fi
return
0

这里的$number
都应当改成$1
输出也应当在函数内完成

以上是关于求个C语言程序:将1到20的阶乘累加的主要内容,如果未能解决你的问题,请参考以下文章

用C语言求1~20的阶乘之和!

C语言求1-20的阶乘之和

用C语言 从一的阶乘加到二十的阶乘

C语言求阶乘倒数之和

c语言 1到20的阶乘之和

用c语言编程,求从1的阶乘一直加到20的阶乘。