c语言计算三角形面积代码

 更新时间:2013年11月26日 11:47:31   作者:  
c语言计算三角形面积,这只是一个小作业,大家一起学习C语言吧,面积公式s = (a+b+c) / 2 area = sqrt(s * (s - a) * (s - b) * (s - c))

复制代码 代码如下:

//面积公式s = (a+b+c) / 2   area = sqrt(s * (s - a) * (s - b) * (s - c));
//小作业 求三角形的面积

int check(double a);
int check2(double a, double b, double c);

#include <stdio.h>
#include <math.h>
int main(void)
{
    double area = 0;
    double s;
    double a,b,c;
    printf("请输入三角形的三边的长(a b c):");
    scanf("%lf %lf %lf", &a, &b, &c);
    if (check(a) == 1 && check(b) == 1 && check(c) ==1)
    {
        if (check2(a,b,c) == 0)
        {
            printf("您输入的不是三角形.请重新输入\n\r");
            return 0;
        }
        else if (check2(a,b,c) == 1)
        {
            s = (a+b+c) / 2;
            area = sqrt(s * (s - a) * (s - b) * (s - c));
            printf("该三角形的面积是:%g\n\r",area);
        }
    }
    else
        printf("输入有误,请重新输入.\n\r");
    return 0;
}

 

//判断输入的数据是否有效
int check(double a)
{
    if (a > 0)
        return 1;
    else
        return 0;
}

//判断三角形是否有效

int check2(double a, double b, double c)
{
    if ( ((a+b)<=c) | ((a+c)<=b) | ((c+b)<=a) )
        return 0;
    if (abs(a-b)>=c | abs(a-c)>=a | abs(c-b)>=a)
        return 0;
    else
        return 1;
}

 想了下,area不会是垃圾值啊.所以不用写那么多行声明变量诶.....

修改了一些

复制代码 代码如下:

//面积公式s = (a+b+c) / 2   area = sqrt(s * (s - a) * (s - b) * (s - c));
//小作业 求三角形的面积

int check(double a);
int check2(double a, double b, double c);

#include <stdio.h>
#include <math.h>
int main(void)
{
    double area,s,a,b,c;
    printf("请输入三角形的三边的长(a b c):");
    scanf("%lf %lf %lf", &a, &b, &c);
    if (check(a) == 1 && check(b) == 1 && check(c) ==1)
    {
        if (check2(a,b,c) == 0)
        {
            printf("您输入的不是三角形.请重新输入\n\r");
            return 0;
        }
        else if (check2(a,b,c) == 1)
        {
            s = (a+b+c) / 2;
            area = sqrt(s * (s - a) * (s - b) * (s - c));
            printf("该三角形的面积是:%g\n\r",area);
        }
    }
    else
        printf("输入有误,请重新输入.\n\r");
    return 0;
}

 

//判断输入的数据是否有效
int check(double a)
{
    if (a > 0)
        return 1;
    else
        return 0;
}

//判断三角形是否有效

int check2(double a, double b, double c)
{
    if ( ((a+b)<=c) | ((a+c)<=b) | ((c+b)<=a) )
        return 0;
    if (abs(a-b)>=c | abs(a-c)>=a | abs(c-b)>=a)
        return 0;
    else
        return 1;
}

相关文章

  • VC文件目录常见操作实例汇总

    VC文件目录常见操作实例汇总

    这篇文章主要介绍了VC文件目录常见操作实例汇总,总结了VC针对文件目录的各种常用操作,非常具有实用价值,需要的朋友可以参考下
    2014-10-10
  • C语言详细讲解if语句与switch语句的用法

    C语言详细讲解if语句与switch语句的用法

    用 if 语句可以构成分支结构,它根据给的条件进行判定,以决定执行哪个分支程序段,C 语言中还有另外一种分支语句,就是 switch 语句
    2022-05-05
  • C++实现LeetCode(82.移除有序链表中的重复项之二)

    C++实现LeetCode(82.移除有序链表中的重复项之二)

    这篇文章主要介绍了C++实现LeetCode(82.移除有序链表中的重复项之二),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • 使用C++11实现Android系统的Handler机制

    使用C++11实现Android系统的Handler机制

    这篇文章主要介绍了使用C++11实现Android系统的Handler机制,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • C++实现LeetCode(124.求二叉树的最大路径和)

    C++实现LeetCode(124.求二叉树的最大路径和)

    这篇文章主要介绍了C++实现LeetCode(124.求二叉树的最大路径和),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • C++ OpenCV实现之实现红绿灯识别

    C++ OpenCV实现之实现红绿灯识别

    本文以实现行车过程当中的红绿灯识别为目标,核心的内容包括:OpenCV轮廓识别原理以及OpenCV红绿灯识别的实现具体步骤,感兴趣的可以了解一下
    2022-08-08
  • C语言中memcpy 函数的用法详解

    C语言中memcpy 函数的用法详解

    这篇文章主要介绍了C语言中memcpy 函数的用法详解的相关资料,需要的朋友可以参考下
    2017-07-07
  • 利用C++实现双链表基本接口示例代码

    利用C++实现双链表基本接口示例代码

    双链表:在单链表的每个结点中,再设置一个指向其前驱结点的指针域,下面这篇文章主要给大家介绍了关于利用C++实现双链表基本接口的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • C语言实现从文件读入一个3*3数组,并计算每行的平均值

    C语言实现从文件读入一个3*3数组,并计算每行的平均值

    今天小编就为大家分享一篇C语言实现从文件读入一个3*3数组,并计算每行的平均值,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • VS2019安装cbd调试器的实现步骤

    VS2019安装cbd调试器的实现步骤

    本文主要介绍了VS2019安装cbd调试器的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-12-12

最新评论