第七天、判断三角形的类型

举报
Jack-Cui 发表于 2021/05/31 11:59:07 2021/05/31
【摘要】     根据输入的三角形的三条边判断三角形的类型,并输出它的面积和类型。 C代码: /*第七天、判断三角形的类型*/ #include <stdio.h> #include <stdlib.h> #include <math.h> //sqrt /*判断能否构成三角形公式:a+b>c;...

    根据输入的三角形的三条边判断三角形的类型,并输出它的面积和类型。
C代码:

/*第七天、判断三角形的类型*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h> //sqrt
/*判断能否构成三角形公式:a+b>c;b+c>a;c+a>b三个式子都符合就能构成三角形*/
/*求面积,海伦公式:海伦公式:√[p(p-a)(p-b)(p-c) ]其中p=1/2(a+b+c)*/
/*三角形类型:等边三角形、等腰三角形、直角三角形、普通三角形*/
void main(void)
{ int a,b,c; float p,area; printf("请输入要查询的三角形的三个边的大小,例如:2,2,2\n"); scanf("%d,%d,%d",&a,&b,&c); if((a + b > c) && (b + c > a) && (c + a > b)) { printf("能构成三角形\n"); p = (a + b + c) / 2; area = (float)sqrt(p * (p - a) * (p - b) * (p - c)); printf("三角形的面积为%f\n",area); if((a == b) && (b == c)) printf("您输入的三角形为等边三角形\n"); else if((a == b) || (b == c) || (c == a)) printf("您输入的三角形为等腰三角形\n"); else if((a^2 + b^2 == c^2) || (a^2 + c^2 == b^2) || (b^2 + c^2 == a^2)) printf("您输入的三角形为直角三角形\n"); else printf("您输入的三角形为普通三角形\n"); } else printf("不能构成三角形\n"); system("pause");
}
  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

结果显示:
Visual Studio 2012
python3.4.4代码:

import math as m

side_lengths = input('请输入请输入要查询的三角形的三个边的大小,例如:2,2,2\n')
length = len(side_lengths)
flag = 0
p = 0
for i in range(0,length): if side_lengths[i] == ',': flag += 1 if flag == 1: a = i if flag == 2: b = i
a_length = float(side_lengths[:a])
b_length = float(side_lengths[a+1:b])
c_length = float(side_lengths[b+1:])

if((a_length + b_length > c_length) & (b_length + c_length > a_length) \ & (c_length + a_length > b_length)): print('能构成三角形')#后面不用加\n自动换行 p = sum([a_length,b_length,c_length]) // 2  #注意:sum的参数是一个list area = m.sqrt(p * (p - a_length) * (p - b_length) * (p - c_length)) print('三角形的面积为%f'%(area)) if((a_length == b_length) & (b_length == c_length)): print('您输入的三角形为等边三角形') elif((a_length == b_length) | (b_length == c_length) | \ (c_length == a_length)): print('您输入的三角形为等腰三角形') elif((a_length * a_length + b_length * b_length == c_length * c_length)\ | (c_length * c_length + b_length * b_length == a_length * a_length)\ | (a_length * a_length + c_length * c_length == b_length * b_length)): print('您输入的三角形为直角三角形') else: print('您输入的三角形为普通三角形')
else: print('不能构成三角形')

input()
  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38

结果显示:
IDLE

文章来源: jackcui.blog.csdn.net,作者:Jack-Cui,版权归原作者所有,如需转载,请联系作者。

原文链接:jackcui.blog.csdn.net/article/details/50936587

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。