C++编程实践:解二次方程与字符转换

5星 · 超过95%的资源 需积分: 5 10 下载量 87 浏览量 更新于2024-07-27 收藏 153KB DOC 举报
"C++编程题汇总,包含多个C++编程实例,用于C++学习和实践,特别是关于求解二次方程的程序设计。" 在C++编程中,解决实际问题常常涉及到各种算法和特定功能的实现。这里提供的编程题集中展示了如何利用C++来求解二次方程ax^2 + bx + c = 0的根。这个问题在数学和工程领域十分常见,例如在物理学中的振动分析或电子学中的滤波器设计。 首先,我们看到三个不同的函数`equation_1`, `equation_2`, 和 `equation_3`,它们分别处理二次方程的三种情况:方程有两个不相等的实根、两个相等的实根以及无实根(即虚根)。这些函数接收整型参数a、b和c,并计算出相应的根。 1. `equation_1` 函数用于处理b^2 - 4ac大于0的情况,即方程有两个不相等的实根。通过使用公式x1 = (-b + sqrt(b^2 - 4ac)) / (2a) 和 x2 = (-b - sqrt(b^2 - 4ac)) / (2a),可以计算出这两个根,并将结果输出到控制台。 2. `equation_2` 函数处理b^2 - 4ac等于0的情况,此时方程有两个相等的实根。计算公式简化为x1 = -b / (2a),因为两个根相同,所以x2也等于x1。 3. `equation_3` 函数处理b^2 - 4ac小于0的情况,这时方程没有实根,而是两个共轭复数根。使用公式x1 = (-b / (2a)) + j * sqrt(|b^2 - 4ac|) 和 x2 = (-b / (2a)) - j * sqrt(|b^2 - 4ac|),其中j是虚数单位,表示复数的虚部。函数输出这两个虚根的形式。 主函数`main`负责获取用户输入的a、b、c值,然后根据判别式b^2 - 4ac的值调用相应的函数。如果判别式大于0,调用`equation_1`;等于0,调用`equation_2`;小于0,调用`equation_3`。这样的设计确保了对所有可能情况的全面覆盖。 在第二个题目中,要求定义一个函数`up(ch)`,这个函数的作用是将输入的小写字母转换为大写字母。在C++中,可以使用`toupper`函数从`<cctype>`库中实现这一功能。`toupper`接受一个字符作为参数,如果该字符是小写字母,它会返回相应的大写字母,否则返回原始字符。因此,`up(ch)`函数可以如下定义: ```cpp char up(char ch) { return toupper(ch); } ``` 通过这些编程实例,学习者可以深入理解C++的函数定义、参数传递、条件判断以及基础数学运算的应用,这对于提升C++编程技能和解决问题的能力至关重要。