前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言实例之求三角形面积、解一元二次方程

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

作者头像
程序员小顺
发布2021-10-13 10:36:40
9750
发布2021-10-13 10:36:40
举报
文章被收录于专栏:知识小木屋

实例:求三角形面积

核心思路:

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

三角形面积公式:

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

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

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

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

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

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

代码语言:javascript
复制
4的平方根是:2.000000

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

代码语言:javascript
复制
#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,将会输出以下结果:

代码语言:javascript
复制
S = 1.984313

实例:解一元二次方程

什么是一元二次方程?

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

核心思路:

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

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

代码语言:javascript
复制
#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,将会输出以下结果:

代码语言:javascript
复制
此方程有实数根
x1=2.000000,x2=3.000000
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 知识小木屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档