输入三个实数,编程判断他们是不是能构成三角形

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了输入三个实数,编程判断他们是不是能构成三角形相关的知识,希望对你有一定的参考价值。

输入三个实数,编程判断他们是否能构成三角形;若能,则说明是何种三角形(一般三角形、等边三角形、等要三角形、直角三角形)。

由于计算精度的限制,比较两个浮点数是否相等是没有意义的,因为可能有误差。所以这里要求输入的边长必须是整数。

#include <stdio.h>

void main()

unsigned int a, b, c;

printf("Enter the edge length of the triangle:\n");
scanf("%d", &a);
scanf("%d", &b);
scanf("%d", &c);

if( (a >= b+c)
|| (b >= c+a)
|| (c >= a+b) )

printf("This is not a triangle.\n");
return;


if( (a == b) && (b == c) )

printf("This is an equilateral triangle.\n");
return;


if( (a == b) || (b == c) || (c == a) )

printf("This is an isoceles triangle.\n");
return;


if ( ((a^2 + b^2) == (c^2))
|| ((b^2 + c^2) == (a^2))
|| ((c^2 + a^2) == (b^2)) )

printf("This is a right-angled triangle.\n");
return;


printf("This is an ordinary triangle.\n");
return;
参考技术A #include <stdio.h>
#include<math.h>
void main()

float a,b,c;
printf("输出a,b,c\n");
scanf("%f%f%f",&a,&b,&c);
if((a+b>c)&&(a+c>b)&&(b+c>a))

if(a==b&&b==c)

printf("这是个等边三角形!\n");

else
if((a==b)&&(b!=c)||(b==c)&&(c!=a)||(a==c)&&(c!=b))

printf("这是个等腰三角形!\n");

else
printf("这是个普通三角形!\n");

else
printf("不能构成三角形!\n");
参考技术B 分别使用多个函数判断是否满足你上面说的这些三角形的要求,如果是就返回真就可以了啊,比如能否构成三角形就使用两两相加看是否大于第三个数,如果三个数都返回真那么就能构成三角形,如果能构成三角形就判断这三个数是否都相等,是否有两个相等,如果都为否那么就判断任意两个的平方和是否为第三个的平方,如果返回还为假就返回一般三角形,就这样了,你要把逻辑想好,给你源代码也没有用,自己好好想想哈 参考技术C 代码如下:
#include
int
main()

float
a,
b,
c;
scanf("%f%f%f",&a,
&b,
&c);
if
(a+b>c&&a+c>b&&b+c>a)

if
(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
printf("是直角三角形!\n");
else
printf("不是直角三角形!\n");

else
printf("

C语言编程实例14

根据输入的三角形的三条边判断三角形的类型,并输出其面积和类型。

算法思想

首先判断其两边之和是否大于第三边,若大于则判断可以构成三角形,再进一步判断该三角形是什么三角形,并计算这个三角形的面积;否则不能构成三角形。
① 从键盘输入三角形的三条边。
② 判断两边之和是否大于第三边。
③ 若条件成立则判断可构成三角形,计算其面积,并判断其类型;否则判断其不能构成三角形。
④ 在类型判断中首先判断其是否三边相等,条件成立则判断其为等边三角形;否则判断其是否有两边相等,条件成立则判断其为等腰三角形;否则判断其是否有两边的平方和等于第三边的平方,条件成立则判断其为直角三角形;否则判断其为普通三角形。

程序代码

#include <stdio.h>#include <math.h>int main(){ float a,b,c; float s,area; printf("请输入三角形的三条边:\n"); scanf("%f,%f,%f",&a,&b,&c); if(a+b>c&&b+c>a&&a+c>b) { s=(a+b+c)/2; area=(float)sqrt(s*(s-a)*(s-b)*(s-c)); printf("三角形的面积是:%f\n" ,area); if(a==b&&a==c) printf("三角形是等边三角形\n"); else if(a==b||a==c||b==c) printf("三角形是等腰三角形\n"); else if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a)) printf("三角形是直角三角形\n"); else printf("三角形是普通三角形\n"); } else printf("不能构成三角形\n"); return 0;}

调试运行结果

输入为 3,3,3 时,对应的输出情况如下所示:

请输入三角形的三条边:3,3,3三角形的面积是:3.897114三角形是等边三角形

输入为 3,4,5 时,对应的输出情况如下所示:

请输入三角形的三条边:3,4,5三角形的面积是:6.000000三角形是直角三角形

总结

① 、在本实训之前必须知道三角形的相关知识,比如,怎么判断输入的三边是否能构成三角形、三角形的面积计算方法等。

② 、要注意逻辑运算符“&&”和“||”的使用,当需要同时满足多个条件时,使用“&&”运算符;而当只需满足多个条件中的一个时,使用“||”运算符。


扫码关注我,手把手带你撸代码





如果你觉得文章让您增长了知识,

点击右下方的“在看

  

以上是关于输入三个实数,编程判断他们是不是能构成三角形的主要内容,如果未能解决你的问题,请参考以下文章

26.用Python输入 a、b、c 三个参数,以它们作为三角形的三边,判断是不是可以构成 一个三角?

判断输入三个正整数是否构成直角三角形(是:Yes;不是:No;不构成三角形:Not a trangle)

异常处理:写一个方法void triangle(inta,intb,int c),判断三个参数是否能构成一个三角形。

如何用编程 任意输入3个数判断能否构成三角形?

如何用C语言编程序:输入三个数,判断是不是构成三角形

ZZNUOJ_C语言1030:判断直角三角形(完整代码)