1、 题目
编写函数:判断三角形的类型,并输出其面积和类型。
2、思路:
首先判断其两边之和是否大于第三边,若大于则判断可以构成三角形,再进一步判断该三角形是什么三角形,并计算这个三角形的面积;否则不能构成三角形。
① 从键盘输入三角形的三条边。
② 判断两边之和是否大于第三边。
③ 若条件成立则判断可构成三角形,计算其面积,并判断其类型;否则判断其不能构成三角形。
④ 在类型判断中首先判断其是否三边相等,条件成立则判断其为等边三角形;否则判断其是否有两边相等,条件成立则判断其为等腰三角形;否则判断其是否有两边的平方和等于第三边的平方,条件成立则判断其为直角三角形;否则判断其为普通三角形。
3 、温馨提示
C语言试题汇总里可用于计算机二级C语言笔试、机试、研究生复试中C程序设计科目、帮助C语言学者打好程序基础、C语言基础,锻炼您的逻辑思维和解决问题的能力,帮助你成为C语言笔试、机试解题高手,帮助你拿到C语言工作的offer,每一个题目都附带源代码和运行结果,让你不再有任何困惑,妈妈再也不担心我的C语言了。如果程序有任何看不懂或者哪个步骤不理解的地方都可以加我微信(15874274916)私聊我,或者有更好的思路解决办法都可以加我微私聊,一起探讨、希望可以正真的帮助到你,同时也可以扫下面的二维码关注我微信公众号,比如你还对生活、美食或者其它方面都感兴趣,都可以加微信交流,博主擅长讲解计算机相关方面的知识、如果大家对计算机方向、前端、移动端、服务端、数据结构、算法、网络、高数等等一些列方向比较迷茫或者不知道要学哪些?或者具体怎么学?或者其它方向有任何困惑都可以找我交流,谢谢大家关注。
4、源代码实现
#include <math.h>
#include <stdio.h>
#include <windows.h>
void fun(int a, int b, int c)
{
if (a < 0 || b < 0 || c < 0)
{
printf("data error\n");
}
float s,area;
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");
}
int main()
{
fun(3, 4, 5);
system("pause");
return 0;
}
5、运行结果
三角形面积是6.000000
三角形是直角三角形