回复 7 楼 embed_xuel
自己感觉是for错了,但是检查不出
回复 11 楼 逝秋
你还是把x,n改为int型吧
#include<stdio.h> double getPower(int x,int y) { if(y==0) return 1; return x*getPower(x,y-1); } double f(int x) { if(x==0) return 1; return x*f(x-1); } int main() { double L=0.0; int x,n; printf("请输入x的值:\t"); scanf("%d",&x); for(n=0;getPower(x,n)/f(n)>0.000001;n++) { L=L+getPower(x,n)/f(n); } printf("e`%d=1+x`/1!+x`2/2!+...+x`n/n!=%f\n",x,L); return 0; }