//Jiecheng.h class Jiecheng { public : void Jiecheng_();//解决问题1 void caculateE();//解决问题2 void caculateEX();//解决问题3 int test(int);//递归算法求阶乘 double test_(double);//求阶乘的倒数 private: int N ;//计算到阶乘的最大位 int I ;//阶乘结果 };
//Jiecheng.cpp #include "Jiecheng.h" #include<iostream> using namespace std; int Jiecheng::test(int number) //递归算法求阶乘 啊啊啊啊啊啊啊啊啊啊啊 啊啊 { if(number == 1) return 1; else return number*test(number-1); } double Jiecheng::test_(double number) { int final = test(static_cast<int>(number)); return 1.00/(static_cast<double>(final)); } void Jiecheng::Jiecheng_() { cout << "问题一、请输入一个非负整数:"; cin >> N ; while(N<0) //至关重要额 { cout << "阶乘中要求为非负数,请重新输入:"; cin >> N ; } if(N>0) { cout << N << "! = " << test(N) << endl; }//end if else { cout << "0! = 1" << endl; } } void Jiecheng::caculateE() { cout << "问题二、请输入一个正整数n:" ; cin >> N ; while(N<=0) { cout << "题目要求N大于0,请重新输入N:" ; cin >> N; } double L = 1.00; //L=e = 1 + 1/1! + 1/2! + 1/3! + 1/4! + ······ for(double i=1.00;i<=static_cast<double>(N);i++) { L = L + test_(i); } cout << "e = " << L << endl; } void Jiecheng::caculateEX() { int x ; cout << "问题三、请输入正整数N,以及e的系数x " ; cin >> N >> x ; while(N<=0) { cout << "题目要求N大于0,请重新输入N:" ; cin >> N; } double L = 1.00;// exp(x)的解 double y = 1.00;//每个项上的x int i=1; for(int i=1;i<=N;i++) { y = y*static_cast<double>(x) ; L =L + y*test_(static_cast<double>(i)); //注意啊,是i循环,不是N不变啊,!!!! } cout << "e(" << x << ") = " << L << endl;; }
//caculate.cpp /main.cpp #include"Jiecheng.h" #include<string> int main() { /*Jiecheng test1; test1.Jiecheng_(); Jiecheng test2; test2.caculateE();*/ Jiecheng test3; test3.caculateEX(); system("pause >> cout "); return 0; }
相关推荐
练习题中包含计算阶乘的代码,如: ```java long c = 0, d = 1; for(long i = 1; i ; i++) { for(long m = i; m > 0; m--) { d = d * m; } c = c + d; d = 1; } ``` 这里通过嵌套的`for`循环来计算每个...
C语言练习题:求1到10的阶乘之和简单实例 #include int factorial(int n) { if(0==n) return 1; if(1==n) return 1; return n*factorial(n-1); } int main() { int n=10; int sum=0; int i; for(i=1;i<=n...
根据提供的文档内容,我们可以归纳和总结出一系列与C++编程相关的知识点。这些知识点不仅涵盖了基本的数据类型、控制...通过这些练习题的学习,可以帮助学生更好地掌握C++编程的基础知识,并培养解决实际问题的能力。
这个练习题旨在熟悉 for 循环在数值计算中的应用,并了解如何使用 for 循环计算阶乘和。 7. 求 100 以内的素数。 这个练习题旨在熟悉 for 循环在数值计算中的应用,并了解如何使用 for 循环计算素数。 8. 求菲薄...
Java编程练习题21、22、23涉及到数学运算,如素数、平方和、阶乘等。这些题目考核了程序员对数学运算的掌握程度。 知识点8: 递归和算法 Java编程练习题24、25、26涉及到递归和算法,如递归函数、排序算法等。这些...
### JAVA练习题知识点详解 #### 1. 斐波那契数列 通过`for`循环打印斐波那契数列的前100项。斐波那契数列定义为:第一项与第二项均为1,后续每一项都是前两项之和(如1, 1, 2, 3, 5, 8, 13, 21...)。 ```java int...
根据提供的文件内容,我们可以提取出以下知识点: 1. C++编程基础: ...以上知识点涵盖了C++编程中的基础概念、编程技巧、面向对象编程、算法实现等多个方面,旨在通过练习题加深对C++编程的理解和掌握。
#### 练习题4:质因数分解 - **知识点**: - 质因数的概念及其在数学中的应用。 - 循环与条件判断。 - 除法与取模运算。 - **实现思路**:通过循环找到最小的质因数并将其打印出来,然后继续分解剩余的部分,直到...
练习题可能包含使用递归实现特定算法,如计算阶乘、查找和排序等。 每个文件名(1、4、9)可能代表不同的练习题编号,具体题目内容需查看文件内容才能详细讨论。通过解决这些练习题,学生可以深入理解和熟练掌握...
#### 练习题4:将一个字变量中2进制形式的无符号整数以10进制形式输出。 - **知识点**: - 二进制到十进制转换:通过位操作和累加实现转换。 - 输出处理:如何将得到的十进制数字转换为ASCII码进行显示。 #### ...
初学者可以多找一点类似于这种练习题做做,本题是我们老师发的标准答案,计算一到十的阶乘和
### C语言函数练习题知识点详解 ...通过这些练习题的学习与实践,不仅能够帮助初学者巩固函数的基础知识,还能提升解决实际问题的能力。希望学习者能够通过不断练习,熟练掌握C语言中的函数技巧。
本文档提供了四个C语言函数练习题,分别是英尺、英寸、米、厘米之间的转换、三角形面积的计算、函数递归求阶乘和画出一个正方形。 一、英尺、英寸、米、厘米之间的转换 在这个练习题中,我们使用三个函数GetInch、...
这些Java练习题覆盖了基础到进阶的多个知识点,包括条件运算符的使用、循环与逻辑控制、字符串处理、数学计算、递归、数组操作、数据结构、算法等。以下是这些题目涉及的具体知识点详解: 1. **条件运算符**:`条件...
Java基础编程练习题和经典算法是提升编程技能和准备面试的关键环节。这50题的基础编程练习涵盖了Java语言的核心概念,如数据类型、控制结构、类与对象、异常处理、集合框架等,旨在帮助学习者巩固基础知识并提高编程...
在本节中,我们将探讨与递归相关的编程概念,通过几个具体的练习题来理解递归函数的工作原理及其应用。递归是一种在函数内部调用自身的技术,通常用于解决需要重复执行相同操作的问题,如计算阶乘或遍历树形结构。 ...
TCL(Tool Command Language)练习题及答案; 1、编写一个TCL脚本,输出从1到10的所有偶数。 2、编写一个TCL脚本,求一个整数列表的平均值。 3、编写一个TCL脚本,计算一个整数列表的最大值和最小值。 4、...
3. **算法**:算法是解决问题的步骤,练习题可能涵盖排序(冒泡排序、快速排序、归并排序等)、搜索(线性搜索、二分搜索等)、图算法(Dijkstra算法、Floyd算法等)和动态规划问题。这些题目可能要求分析算法的时间...