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

普普通通一个人

文章分类

全部博文(102)

文章存档

2018年(1)

2015年(13)

2014年(88)

我的朋友

分类: C/C++

2014-02-24 16:06:46


点击(此处)折叠或打开

  1. #include <stdio.h>
  2. //计算阶乘的函数
  3. float factorial(int);
  4. //计算e的值
  5. //e = 1+ 1/1! + 1/2! + 1/3!......
  6. int calculateE(int);

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

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

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


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


点击(此处)折叠或打开

  1. #include <stdio.h>
  2. //计算阶乘的函数
  3. float factorial(int);
  4. //计算e的值
  5. //e = 1+ 1/1! + 1/2! + 1/3!......
  6. int calculateE(int);

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

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

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


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

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