我用C语言写了个程序 可以运行 但得不到结果 为什么啊· 我用C语言编写了个程序,唉,编译没问题,但运行后总得不到预期...

作者&投稿:侯伊 (若有异议请与网页底部的电邮联系)
主要原因是你程序有问题,你的count未赋初值,在上面加上count =0就行了。
另外你的n取值过大,当你输入的x为1和2还可以,但是大于2以后就会在计算fact(n)时超出double的取值范围,最后只会出现卡死状态。还有输出sum时是printf("sum=%.4lf\n",sum);
这是不可取的,所以将n修改小一点才能看看结果,验证一下程序的正确性。

你得不到结果,不知道是不是你的程序还没有运行完的缘故,for(n=1;n<=1000000000;n++)的循环次数太多了。其他的我就不清楚了。
还要提醒你一下的是你的变量denominator,变量名字母太多了,写程序时要做到变量名简明,能看懂就行。

应该是没有结果出现吧。我觉得应该是整形变量的表示范围不够,你的循环中用到了1000000000,这个整形变量是表示不了的,而且你还在计算阶乘,阶乘的结果很空间溢出。阶乘的返回值最好用__int64(VC++)或者long long(DEV-C)

是不是运行后一闪就关闭了?是这样的话程序最后加上system("pause");

我用C语言写了个程序 可以运行 但是得不到结果 求解呀·~

你得不到结果,不知道是不是你的程序还没有运行完的缘故,for(n=1;n<=1000000000;n++)的循环次数太多了。其他的我就不清楚了。
还要提醒你一下的是你的变量denominator,变量名字母太多了,写程序时要做到变量名简明,能看懂就行。

case '-'后面没有break
num2的数据没有读出来就使用了。。。。。。你的函数好像不能读出num2的值,你自己想想怎么读出来吧。呵呵