输入三个实数,编程判断他们是不是能构成三角形
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
算法思想
首先判断其两边之和是否大于第三边,若大于则判断可以构成三角形,再进一步判断该三角形是什么三角形,并计算这个三角形的面积;否则不能构成三角形。
① 从键盘输入三角形的三条边。
② 判断两边之和是否大于第三边。
③ 若条件成立则判断可构成三角形,计算其面积,并判断其类型;否则判断其不能构成三角形。
④ 在类型判断中首先判断其是否三边相等,条件成立则判断其为等边三角形;否则判断其是否有两边相等,条件成立则判断其为等腰三角形;否则判断其是否有两边的平方和等于第三边的平方,条件成立则判断其为直角三角形;否则判断其为普通三角形。
程序代码
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)