这个程序原意是想算1!+2!+3!+……+99!来着,但是结果却是80303791,很明显不对啊,检查不出程序问题,精确度应该有问题,求教单身怎么改?
这个程序原意是想算1!+2!+3!+……+99!来着,但是结果却是80303791,很明显不对啊,检查不出程序问题,精确度应该有问题,求教单身怎么改?#include<stdio.h>
main()
{
int number,i;
long factorial,m;
m=0;
factorial=1;
for(number=1;number<=99;number++)
{
factorial=factorial*number;
if(number%2==0) continue;
m=m+factorial;
}
printf("the sum=%ld",m);
}