求个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新手,请多多指教~
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的阶乘累加的主要内容,如果未能解决你的问题,请参考以下文章