e = 1+ x/1! + x(2)/2! + x(3)/3!......

来源:互联网 发布:python排序函数 编辑:程序博客网 时间:2024/05/19 11:49
#include <stdio.h>//计算幂的函数int mypow(int);//计算阶乘的函数float factorial(int);//计算e的函数//e = 1+ x/1! + x(2)/2! + x(3)/3!......int calculateE(int);int main(){    //存储输入的数值(用来做阶乘分之一的次数)    int x;    //循环标志位    char start;    printf("\nstart?(y/n): ");    scanf("%c", &start);    while (start == 'y'){        fflush(stdin);        printf("\nenter a number: ");        scanf("%d", &x);        //调用calculateE 计算e的值        calculateE(x);        fflush(stdin);        printf("\nstart?(y/n): ");        scanf("%c", &start);    }    return 0;}//计算e的值int calculateE(int b){    //e 用来保存计算好的e值    //result 用来保存每次计算好的值,累加给e    float e = 1, result;    //循环标志位,让其等于在主函数中输入的x,也就是形参b    int i = b;    for (i; i > 0; i--){        //调用阶乘函数,计算阶乘分之一,保存给result        result = mypow(i) / factorial(i);        //让e先等于1,然后与每次计算好的阶乘分之一相加        e = e + result;    }        //打印结果    printf("\ne= %f", e);    return 0;}//计算阶乘的函数float factorial(int a){    //让i= 原数字-1,这样,第一次计算就能算出 n*(n-1)    int i = a - 1;    //循环计算    for (i; i > 0; i--)        a = a * i;    //打印每次计算出的阶乘值    printf("\nx! = %d\n", a);    //以float形式 返回计算结果    return a;}//计算幂的函数int mypow(int m){    int power = 1;    for (int i = 0; i < m; i++){        power = m * power;        //只打印计算好了的幂,不打印过程                           if (i == (m - 1))        printf("\n%d `s %d power is: %d", m,m, power);    }    return power;}

0 0