C语言程序示例:一元二次方程求根与数字排序

需积分: 0 0 下载量 72 浏览量 更新于2024-08-03 收藏 13KB MD 举报
在C语言编程中,本文档主要介绍了两个实用的代码片段。首先,是关于解决一元二次方程的求根问题。该程序使用了C标准库中的数学函数来计算和判断方程ax² + bx + c = 0的根是否存在实数解。`main()`函数中,用户输入三个系数a、b和c,通过计算判别式`disc = b² - 4ac`来确定根的情况: 1. 如果判别式`disc`小于0,意味着方程无实数根,程序会输出提示。 2. 否则,程序会使用公式`p = -b / (2a)`来计算两个虚根(复数根)的近似值,并通过`sqrt()`函数得到`disc`的平方根除以2a,进而得到实数部分`q`。然后,分别计算两个根`x1 = p + q`和`x2 = p - q`,并以`%.2f`的格式输出。 第二个代码片段则是用于比较三个输入的double类型的数a、b和c,并按照从小到大的顺序输出。通过嵌套if语句,这个程序实现了简单的排序,首先确保a是最小的,然后如果a不是最小,再与b比较,最后与c进行比较。当所有比较都完成后,使用`printf()`输出排序后的结果。 第三个部分涉及一个函数`Prime_number(int N)`,该函数的目的是找到大于给定整数`N`的最小素数。为了实现这个功能,函数采用了试除法(也称为朴素素数检验),从`N+1`开始遍历,对每个数i检查其是否为素数: 1. 使用`sqrt(i)`获取i的平方根,因为一个合数必定有一个因子小于或等于它的平方根。 2. 从2开始,逐次检查i是否能被j整除,如果找到能整除的数,则i不是素数,跳出内层循环。 3. 如果没有找到因子,则i是素数,直接返回。 示例测试程序展示了如何调用`Prime_number()`函数,用户输入一个整数num,然后输出大于num的最小素数。 这些代码片段展示了C语言的基本用法,包括输入/输出、数学运算以及基础的算法实现,对于理解和实践C语言的数值计算和逻辑控制非常有帮助。