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

时间:2021-05-20

复制代码 代码如下:
//面积公式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;
}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章