c语言的算法
#include
main()
int i=1,sgn=1;
float term=1.0,sum=1.0;
while (i<=100)
{term=-sgn/(i+1); /*这样你的-sgn永远是-1,应像zd正确 的程序那样写成 sgn = -sgn;才能出现+,-*/
sum=sum+term;
i++;
printf("%f\n",sum);
getchar();//......
运算中的错误,是因为两个整数做回除法结果答为整数,一般采取"向零取整"的方法,例如4 / 3 = 1,只有当运算的两个数有一个为实数或双精度数结果是double类型.sgn/(i+1);
在int i=1,sgn=1的情况下,当i>0时,sgn/(i+1)是等于0的。所以就会出现最后的1term=-sgn/(i+1);这个是INT/INT不可能会得到FLOAT,所以这中间存在一个类弄转换问题。INT转为FLOAT是采用后面补0来解决的。自然会出错,下面的term=sign/deno; 是INT/FLOAT得到的是FLOAT没有类型转换,自然就不会出错了
补充一下:同意上面说的得到结果的说话
C语言中的算法有哪些?
基本的算法思想包括:穷举算法法思想,递推算法法思想,递归算法法思想,概率算法法思想,分治算法法思想几大类,相应的算法思想都有一些比较经典的实例,可以去研究一下。比如穷举的(鸡兔同笼问题),递推的(兔子产仔问题),递归的(阶乘数学算法),概率的(Monte Carlo 圆周率PI的算法),分治的(称重找假硬币类似的算法)等等,慢慢去研究吧!展开全部
算法主要是思想的体现,建议去看《算法导论》
语言只是实现算法的方法而已,并不是说有什么算法是针对语言的展开全部
算法 技术手册 希望能帮到你展开全部
很多,比如冒泡排序,归并排序,等很多,建议去看《算法导论》展开全部
算法不能说是哪门语言特有的,一门语言只是实现算法的一种方法。
算法很多,最全的应该是《算法导论英文版》,很详细,很值得看。