求数列1-3!+5!-7!......(-1)^(n-1) * (2n-1) C语言

#include <stdio.h>
int main()
{
int n,i=1,j=1,sign;
float sum,fac;
scanf("%d",&n);
sum=0.0;
sign=1;
while(i<2*n+1)
{
fac=1.0;
while(j<i)
{
fac*=j;
j++;}
fac*=sign;
sum+=fac;
sign=-sign;
i+=2;
}
printf("%d\n",sum);
getchar();
getchar();
}

这段代码有什么问题?
一楼的仍然不对,dev C编译的结果为零。

发现答案了。把float sum,fac; 改成int sum,fac;再把while(j<i)改成while(j<=i)
就对了

ok!问题清楚了。谢谢!
看来学习语言还是要细心一点,但是有时候自己就是发现不了问题。

看看我改的哪里 后面加了?????????的地方 ,请看后边的????????
#include <stdio.h>
int main()
{
int n,i=1,j=1,sign;
float sum,fac;
scanf("%d",&n);
sum=0.0;
sign=1;
while(i<2*n+1)
{
fac=1.0;
j=1;???????????????????????
while(j<i)
{
fac*=j;
j++;}
fac*=sign;
sum+=fac;
sign=-sign;
i+=2;
}
printf("%d\n",sum);????????????????????? ("%f\n",sum);?????????????????????
getchar();
getchar();
}
温馨提示:答案为网友推荐,仅供参考
相似回答