c语言编程笔录

您现在的位置是:首页 > 编程 > 编程经验

编程经验

c语言中一元二次方程式的编程

admin 2023-06-14编程经验
一元二次方程式概述一元二次方程式是指形如ax2+bx+c=0的方程,其中a≠0。在解这个方程式时,我们可以使用求根公式,也就是使用(-b±√(b2-4ac))/2a这个公式帮助我们计算出x的值。这个公式有两个解,也就是x1=(-b+√(b2-4ac))/2a和x2=(-b-√(b2-4ac))/2a。下面我们将通过编程实现这个方程式的求解过程。使用用户输入数值我们

一元二次方程式概述

一元二次方程式是指形如ax2+bx+c=0的方程,其中a≠0。在解这个方程式时,我们可以使用求根公式,也就是使用(-b±√(b2-4ac))/2a这个公式帮助我们计算出x的值。这个公式有两个解,也就是x1=(-b+√(b2-4ac))/2a和x2=(-b-√(b2-4ac))/2a。下面我们将通过编程实现这个方程式的求解过程。

使用用户输入数值

我们可以使用scanf函数,读取用户输入的a,b,c的值,代码如下:


#include <stdio.h>

int main() {
    float a, b, c, x1, x2, delta;
    printf("请依次输入a,b,c的值:\n");
    scanf("%f%f%f", &a, &b, &c);
    delta = b * b - 4 * a * c;
    x1 = (-b + sqrt(delta)) / (2 * a);
    x2 = (-b - sqrt(delta)) / (2 * a);
    printf("x1的值为:%.2f\n", x1);
    printf("x2的值为:%.2f\n", x2);
    return 0;
}

这段代码会依次读取用户输入的a,b,c的值,计算出x1和x2的值并输出。其中,delta表示判别式,如果delta大于0,则方程有两个不相等实数根;如果delta等于0,则有两个相等实数根;如果delta小于0,则方程没有实数根。

判断方程的根的情况

在上一段代码中,我们已经计算出了delta的值,接下来我们需要根据delta的值判断出方程的根的情况。我们可以按以下方式修改代码:


#include <stdio.h>

int main() {
    float a, b, c, x1, x2, delta;
    printf("请依次输入a,b,c的值:\n");
    scanf("%f%f%f", &a, &b, &c);
    delta = b * b - 4 * a * c;
    if(delta > 0){
        x1 = (-b + sqrt(delta)) / (2 * a);
        x2 = (-b - sqrt(delta)) / (2 * a);
        printf("方程有两个不相等实数根,分别为:\n");
        printf("x1的值为:%.2f\n", x1);
        printf("x2的值为:%.2f\n", x2);
    }
    else if(delta == 0){
        x1 = -b / (2 * a);
        printf("方程有一个实数根:\n");
        printf("x1的值为:%.2f\n", x1);
    }
    else {
        printf("方程没有实数根\n");
    }
    return 0;
}

运行这段代码后,当delta大于0时,会输出方程的两个根;当delta等于0时,会输出方程的一个根;当delta小于0时,会输出“方程没有实数根”。