Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103414
  • 博文数量: 102
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1011
  • 用 户 组: 普通用户
  • 注册时间: 2014-01-15 13:58
个人简介

普普通通一个人

文章分类

全部博文(102)

文章存档

2018年(1)

2015年(13)

2014年(88)

我的朋友

分类: C/C++

2014-02-24 16:32:25


点击(此处)折叠或打开

  1. #include <stdio.h>
  2. //计算幂的函数
  3. int mypow(int);

  4. //计算阶乘的函数
  5. float factorial(int);
  6. //计算e的函数
  7. //e = 1+ x/1! + x(2)/2! + x(3)/3!......
  8. int calculateE(int);

  9. int main(){
  10.     //存储输入的数值(用来做阶乘分之一的次数)
  11.     int x;
  12.     //循环标志位
  13.     char start;
  14.     printf("\nstart?(y/n): ");
  15.     scanf("%c", &start);
  16.     while (start == 'y'){
  17.         fflush(stdin);
  18.         printf("\nenter a number: ");
  19.         scanf("%d", &x);
  20.         //调用calculateE 计算e的值
  21.         calculateE(x);

  22.         fflush(stdin);
  23.         printf("\nstart?(y/n): ");
  24.         scanf("%c", &start);
  25.     }
  26.     return 0;
  27. }

  28. //计算e的值
  29. int calculateE(int b){
  30.     //e 用来保存计算好的e值
  31.     //result 用来保存每次计算好的值,累加给e
  32.     float e = 1, result;
  33.     //循环标志位,让其等于在主函数中输入的x,也就是形参b
  34.     int i = b;
  35.     for (i; i > 0; i--){
  36.         //调用阶乘函数,计算阶乘分之一,保存给result
  37.         result = mypow(i) / factorial(i);
  38.         //让e先等于1,然后与每次计算好的阶乘分之一相加
  39.         e = e + result;
  40.     }    
  41.     //打印结果
  42.     printf("\ne= %f", e);
  43.     return 0;
  44. }

  45. //计算阶乘的函数
  46. float factorial(int a){
  47.     //让i= 原数字-1,这样,第一次计算就能算出 n*(n-1)
  48.     int i = a - 1;
  49.     //循环计算
  50.     for (i; i > 0; i--)
  51.         a = a * i;
  52.     //打印每次计算出的阶乘值
  53.     printf("\nx! = %d\n", a);
  54.     //以float形式 返回计算结果
  55.     return a;
  56. }

  57. //计算幂的函数
  58. int mypow(int m){
  59.     int power = 1;
  60.     for (int i = 0; i < m; i++){
  61.         power = m * power;
  62.         //只打印计算好了的幂,不打印过程                   
  63.         if (i == (m - 1))
  64.         printf("\n%d `s %d power is: %d", m,m, power);
  65.     }
  66.     return power;
  67. }

阅读(254) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~