猿问

大佬帮我看一下C语言基础题………


http://img4.mukewang.com/5b0f6b6f0001412206610496.jpg

http://img3.mukewang.com/5b0f6b730001bf9f04960661.jpg
第一张是我写的,第二张是题目,第三张是调试的结果。
我就不知道为什么,就是出不来正确结果,自己感觉写好了………………
1:不知道我这个思路,哪里错了……
2:再者,还有简单的思路没有?

泷二酱ing
浏览 914回答 1
1回答

ACTeeMo

#include <stdio.h>#include <math.h>// 阶乘算法double factorial(int n){int i;double result = 1.0;for (i = 1; i <= n; i++){result *= i;}return result;}int main(int argc, char **argv){int i;double sum = 0.0;int num;for (i = 1; i <= 20; i++){num = 2 * i - 1;// 判断奇偶位运算符号if(i%2!=0){// 除号两边必须要有一个double类型,不然算出来全是intsum += pow(2.0, num) / factorial(num);}else{sum -= pow(2.0, num) / factorial(num);}}printf("%.2lf", sum);return 0;}
随时随地看视频慕课网APP
我要回答