C语言编程:求1!+2!+3!+4!+5!+6!+7!+8!+9!(用for循环编写)

很着急,谢谢

9*9!还在int型范围内,而题设和要比9*9!小很多,所以用int型变量就可以准确解决。用一个for循环兼作求阶乘和求和两项功能,空间、时效都较经济。举例代码如下:

#include "stdio.h"
int main(int argc,char *argv[]){
int s,i,t;
for(s=0,t=i=1;i<10;s+=t*=i++);
printf("1!+2!+3!+...+9! = %d\n",s);
return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-14
#include<stdio.h>
main()
{float i,s=0,t=1;<br/>for(i=1;i<=9;i++)<br/>{t*=i;s+=t;}
printf("%e",s);
}
第2个回答  2013-12-14
#include<stdio.h>long fun(int i){long s = 1;if (i == 0)return s;else{for (int j = 1; j<=i; j++)s *= j;}return s;}int main(){long s = 1;int n;scanf("%d",&n);for (int i = 0; i<=n;i++)s += fun(i);printf("%d\n",s);return 0}