http://acm.hdu.edu.cn/showproblem.php?pid=1012
这道题是个打表和求阶乘算法的题,不算难
甚至简单
但有个问题困住了我最终解决
究其原因,是因为我对数据结构的小知识点还有偏差
1/整数 =浮点数 不能写成这种形式
应该数
1.0/整数=浮点数
#include<stdio.h>
int f(int );
main(){
float e,m;
int n,i,l;
printf("n e\n");
printf("- ---------------\n");
printf("0 1\n");
printf("1 2\n");
printf("2 2.5\n");
e=2.5;
for(i=3;i<=9;i++){
l=f(i);//刚刚这个问题就在这里,无语死了
m=1.0/l;
e=e+m;
printf("%d %f\n",i,e);
}
}
int f(int i){
int k,jsum;jsum=1;
for(k=i;k>0;k--){
jsum=k*jsum;
}
return jsum;
}