输入:一个浮点数对应x值
输出:一个浮点数即ex的近似值,小数点后保留到第2位。
提示:注意使用项与项之间的递进关系;不要直接使用幂数和阶乘直接相除计算每一项值,很容易出现溢出错误。
样例:输入0 输出:1.00
#include<stdio.h>
int main(){
/*确定循环单元
循环单元里应该有:1、X的i次方(可直接用函数pow(x, y),该函数在math.h里面
但是为了练习还是硬算吧)
2、n的阶乘(有两种办法,第一种是每次需要用到的时候重新从1开始乘
第二种是,每循环一次 就记录下x的i次方
3、两数相除(直接相除,但是要记得强制类型转换)
4、前面所有数的和(每次用sum标记和)
不要直接使用幂数和阶乘直接相除计算每一项值,很容易出现溢出错误,用float会溢出,但是用double不会
*/
int i;
float x;
scanf("%f",&x);
double sum=1,jc=1,cf=1;//默认第一项已经算过
for(i=1;i<100;i++){
jc*=i;
cf=cf*x;
sum+=cf/jc;
//printf("%.3f\t %.3f\t %.3f\t" ,cf,jc,sum);
}
printf("%.2f",sum);
}