为什么第二种方法下的代码我这样写,却最后什么都没有,好像不运行。
首先n没有初值 你里面的while是要计算阶乘吧写的不对
重新给你写了一个
double e = 1, n = 1,c=1;
double x = 1;
while (x>=Math.Pow(10,-4))
{
double temp = 1;
while (n > 0)
{
temp *= n;
n--;
}
c++;
n = c;
x = 1 / temp;
e += 1 / temp;
}
我在第二个while里面初始了n = i; 刚开始i就等于1 的,为什么不行呢??
@shmily涂: while(n>=1){}
是先判断n>=1这个条件才能进去,你是在里面赋值,没用
@wwr01: 为什么按你的代码来,最后运行后,那个结果是个很大的负数。表示好无奈哦。呵呵。
@shmily涂:
这是我运行的结果,不知道你是怎么搞得?????
@wwr01: 你们用的编译器是哪个?我们学校叫我们用的vc++6.0 好多都不行的,C99标准的东西在这上面都不能用、
@shmily涂: visual studio2017,我是用C#写的,我没有装vc的插件,所以测不了
但是这不影响这个算法的逻辑呀
恭喜你,成功的编写了一个死循环算法。
帮忙解释下呗。😂😂
while(n >1)
,这句有问题,我看你没有设置过n的值,不知道c语言里n的值不设置默认是什么,如果是0的话,这个while循环永远不会运行到,外层while成了死循环
建议手动循环一下