double fun(int n)//用double提高精度和计数位数.
{
double sum=1.0;
int i;
for(i=1;i<=n;i++)
sum*=i;
return sum;
}
int main()
{
int i,mark=1;
double sum=0,item=0;
for(i=1;i<=9;i++)
{
item=mark*fun(i);
sum+=item;
mark=-mark;
}
printf("1!-2!+3!-4!+5!-6!+7!-8!+9!=%.0lf\n",sum);
}
![](http://c.hiphotos.baidu.com/zhidao/wh%3D600%2C800/sign=62fe9fe664380cd7e64baaeb9174810c/63d9f2d3572c11df7b6cdf75622762d0f703c223.jpg)
提示有错误。