C语言实例之求三角形面积、解一元二次方程

C/C++
240
0
0
2022-11-14

实例:求三角形面积

核心思路:

输入三个数分别代表三角形的三个边长,运用三角形的性质:任意两边之和大于第三边,判断三边是否可以构成一个三角形,若能构成三角形,则可求出该三角形的面积。

三角形面积公式:

已知三角形的三边长为a、b、c,p=(a+b+c)/2,三角形的面积为:

img

sqrt()函数:求给定值的平方根

sqrt()函数在头文件 math.h 里,函数的原形为 double sqrt(double x)

例如:求4的平方根,源代码如下:

#include <stdio.h>
#include <math.h>
int main()
{
    printf("4的平方根是:%f",sqrt(4));
    return 0;
}

运行编译上面的代码,输出以下结果:

4的平方根是:2.000000

求三角形面积,源代码如下:

#include<stdio.h>
#include<math.h>
int main()
{
    float a,b,c,p,s;
    printf("请分别输入三角形的三条边:\n");
    scanf("%f %f %f",&a,&b,&c);
    if ((a+b)>c && (a+c)>b && (b+c)>a)
    {
        p = (a + b + c)/2;
        s = sqrt(p*(p-a)*(p-b)*(p-c));
        printf("S = %f",s);
    } else
    {
        printf("输入的三边无法构成一个三角形\n");
    }
    return 0;
}

运行上面的源代码,输入2 2 3,将会输出以下结果:

S = 1.984313

实例:解一元二次方程

什么是一元二次方程?

一元二次方程的一般形式 ax2 + bx + c = 0 (a≠0) ,其中ax2叫作二次项,a是二次项系数;bx叫作一次项,b是一次项系数;c叫作常数项。

核心思路:

输入a,b,c三个数,分别对应一元二次方程的二次项系数,一次项系数,常数项系数,运用一元二次方程根的判别式判断此方程有无实数根,若方程有实数根,则可运用求根公式分别算出这两个实数根。

解一元二次方程,源代码如下:

#include<stdio.h>
#include<math.h>
int main() {
    float a, b, c, d, x1, x2;
    printf("请输入一个一元二次方程:\n");
    printf("提示:ax^2+bx+c=0 只需依次输入a,b,c\n");
    scanf("%f %f %f", &a, &b, &c);
    d = pow(b, 2) - 4 * a * c;
    if (d < 0) {
        printf("此方程无实数根\n");
    } else {
        x1 = (-b - sqrt(d)) / 2 * a;
        x2 = (-b + sqrt(d)) / 2 * a;
        printf("此方程有两个实数根\n");
        printf("x1=%f,x2=%f", x1, x2);
    }
    return 0;
}

运行上面的源代码,输入1 -5 6,将会输出以下结果:

此方程有实数根
x1=2.000000,x2=3.000000