C语言实现:求解一元二次方程的根

需积分: 39 3 下载量 9 浏览量 更新于2024-07-13 收藏 326KB PPT 举报
"这是一份关于C语言上机练习的资料,主要涵盖了如何求解一元二次方程的根、输出整数的绝对值以及判断整除问题的编程任务。这些练习旨在帮助学习者掌握C语言的基础编程技能,包括输入输出、条件语句和数学运算。" 在这份资料中,我们看到三个附加题,都是基于C语言的编程实践。第一道附加题是求一个整数的绝对值。通过输入一个整数`x`,程序会检查`x`是否小于0,如果是,则将`x`取负得到绝对值`y`,否则`y`保持不变。最后,程序输出原始数值`x`和它的绝对值`|x|`。 第二道附加题涉及两个整数`x`和`y`的整除判断。用户输入`x`和`y`后,程序使用模运算符 `%` 来检查`x`是否可以被`y`整除。如果`x % y`不等于0,那么`x`不能被`y`整除,程序输出`NO`;反之,如果`x % y`等于0,程序输出`YES`。 第三道附加题是解决一元二次方程`ax^2 + bx + c = 0`的根。用户需输入系数`a`、`b`和`c`。首先,程序会检查`a`是否为0,因为当`a`为0时,方程不再是二次方程,此时只有一个根`x1 = -c/b`。如果`a`不为0,程序会计算判别式`d = b^2 - 4ac`。如果判别式`d`大于0,方程有两个不同的实根,可以通过公式`x1 = (-b + sqrt(d)) / (2*a)`和`x2 = (-b - sqrt(d)) / (2*a)`求得。如果`d`等于0,方程有一个重根,根为`x1 = -b / (2*a)`。如果`d`小于0,方程无实根。在这个程序中,由于使用了`<math.h>`库,可以调用`sqrt()`函数来计算平方根。 通过这些上机练习,学生可以巩固对C语言基本语法、输入输出、条件语句、算术运算以及数学函数的理解和应用。同时,这些练习也强调了实际编程中错误处理和逻辑判断的重要性,有助于提高编程解决问题的能力。在实验报告中,学生不仅需要提交代码,还可能需要展示程序运行结果,以便教师评估他们的学习进度和理解程度。