bshy.net
当前位置:首页>>关于1到20阶乘的和用c语言表达的资料>>

1到20阶乘的和用c语言表达

一、算法分析: 计算阶乘和分成两步: 1 计算阶乘。 对于n的阶乘,从1累乘到n即可。 2 每个阶乘相加。 于是算法可以设计为,从1到20循环,计算每个数的阶乘,并累加。 由于n!=(n-1)! *n, 所以每次计算阶乘,可以利用上次的结果,减少运算量。 二...

#include{ int main(void) { float sum; int i,j,temp; for(i=1;i0;j--) { temp*=j; } sum+=temp; } printf("the result is %f",sum); return 0; }}

1、程序分析:此程序只是把累加变成了累乘。 2、程序源代码 main() { float n,s=0,t=1; for(n=1;n

#includeint main(){int i, p, sum = 0;for (i = 1; i = 1){p *= k;k -= 1;}sum += p;}printf("sum=%d\n", sum);return 0;}

在32伟环境下,20的阶乘已经超出int的范围,而i是个int,必然会溢出,结果就是错误的 把i定义成double就行了 #includemain(){int n = 0;double i = 1.0; //doubledouble sum = 0; for (n = 0; n

long double 改为 double, %d 改为 %lf #include int main(){ double s = 0, t = 1, n; for (n = 1; n

#include main() { double res=1.0; int i; for(i=1;i

你的程序有点乱,也有的错的地方,比如一开始的int unit51()不应该是int main()吗?还有倒数第三行printf("1到20的阶乘和为:\n",sum);也是错的,应该改为printf("1到20的阶乘和为:%d\n",sum);但是貌似这样最后输出的也只有一个数而不是1到20的...

#include main() { double res=1.0; int i; for(i=1;i

自己用数组模拟大类型,例如每个元素存储3位,自己处理大数的加减乘除。 这个是程序设计的一个经典题目。

网站首页 | 网站地图
All rights reserved Powered by www.bshy.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com