首页新闻找找看学习计划

请问C语言题目

0
悬赏园豆:10 [已解决问题] 解决于 2019-11-02 15:13

为什么第二种方法下的代码我这样写,却最后什么都没有,好像不运行。

shmily涂的主页 shmily涂 | 初学一级 | 园豆:66
提问于:2019-10-30 19:54
< >
分享
最佳答案
0

首先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;
}

收获园豆:8
wwr01 | 小虾三级 |园豆:601 | 2019-10-31 10:39

我在第二个while里面初始了n = i; 刚开始i就等于1 的,为什么不行呢??

shmily涂 | 园豆:66 (初学一级) | 2019-10-31 12:29

@shmily涂: while(n>=1){}
是先判断n>=1这个条件才能进去,你是在里面赋值,没用

wwr01 | 园豆:601 (小虾三级) | 2019-10-31 13:22

@wwr01: 为什么按你的代码来,最后运行后,那个结果是个很大的负数。表示好无奈哦。呵呵。

shmily涂 | 园豆:66 (初学一级) | 2019-10-31 20:57

@shmily涂:
这是我运行的结果,不知道你是怎么搞得?????

wwr01 | 园豆:601 (小虾三级) | 2019-11-01 09:15

@wwr01: 你们用的编译器是哪个?我们学校叫我们用的vc++6.0 好多都不行的,C99标准的东西在这上面都不能用、

shmily涂 | 园豆:66 (初学一级) | 2019-11-01 15:20

@shmily涂: visual studio2017,我是用C#写的,我没有装vc的插件,所以测不了
但是这不影响这个算法的逻辑呀

wwr01 | 园豆:601 (小虾三级) | 2019-11-01 15:39
其他回答(3)
0

恭喜你,成功的编写了一个死循环算法。

pencile | 园豆:624 (小虾三级) | 2019-10-30 22:13

帮忙解释下呗。😂😂

支持(0) 反对(0) shmily涂 | 园豆:66 (初学一级) | 2019-10-31 07:41
0

while(n >1),这句有问题,我看你没有设置过n的值,不知道c语言里n的值不设置默认是什么,如果是0的话,这个while循环永远不会运行到,外层while成了死循环

收获园豆:2
会长 | 园豆:6375 (大侠五级) | 2019-10-31 09:03
0

建议手动循环一下

jakio6 | 园豆:1064 (小虾三级) | 2019-10-31 10:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册