如何用c语言编程求和1!-3!+5!-7!+……+19!

如题所述

你这规律有点不对啊,19前面应该是负号啊?
#include<stdio.h>
double fac(int n)
{double f=1;
 for(;n;)f*=n--;
 return f;
}
int main()
{int i,n;
 double s=0;
 for(i=1;i<20;i+=2)
   if(i%4==3)s-=fac(i);
     else s+=fac(i);
 printf("%.0lf\n",s);  
 return 0;
}


温馨提示:内容为网友见解,仅供参考
第1个回答  2011-07-14
#include<stdio.h>
double fun(double n)
{
if(n==0||n==1) return 1.0;
else return (double)(n)*fun(n-1);
}

int main( )
{
double s=0,f=1;
double i;
for(i=1;i<=19;i=i+2)
{
s+=f*fun(i);
f*=-1.0;
}
printf("s=%0.0lf\n",s);
}

你的表达式错了吧?应该是1!-3!+5!-7!+……-19! 最后一项是负的才对。。。
第2个回答  2011-07-20
#include<stdio.h>

main()
{
int i, sum;

sum = 0;
for (i=1; i<=99; i+=2)
{
sum = sum + i;
}
printf("sum = %d", sum);
}
相似回答
大家正在搜