c语言编写程序:输入三角形的三条边,判断它们能否构成三角形,若能则指出何种三角形。

如题所述

#include <stdio.h>
int main()
{
int a,b,c;
printf("Please Input a,b,c:");
scanf("%d%d%d",&a,&b,&c);
if(a+b<=c||a+c<=b||b+c<=a) /*判断是否能构成三角形*/
printf("No!\n");
else
{
printf("Yes!\n");
if(a==c||a==b||b==c) /*判断是否为等腰三角形*/
{
printf("It can be an isoceles triangle!\n");
if(a==c && a==b) /*判断是否为等边三角形*/
printf("It also can be an equilateral triangle!\n");
else
printf("But it can not be an equilateral triangle!\n");
}
else
{
printf("It can't be an isoceles triangle!\n");
}
}
return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-12
#include <stdio.h>

int main() {
int a,b,c;
printf("输入三角形的三条边:\n");
while(scanf("%d%d%d",&a,&b,&c) == 3) {
if(a + b > c && b + c > a && c + a > b) {
if(a == b && b == c) printf("等边三角形!\n");
else if(a == b) {
if(a * a + b * b == c * c) printf("等腰直角三角形!\n");
else printf("等腰三角形!\n");
}
else if(b == c) {
if(b * b + c * c == a * a) printf("等腰直角三角形!\n");
else printf("等腰三角形!\n");
}
else if(c == a) {
if(c * c + a * a == b * b) printf("等腰直角三角形!\n");
else printf("等腰三角形!\n");
}
else if(a * a + b * b == c * c || b * b + c * c == a * a  || c * c + a * a == b * b )
printf("直角三角形!\n");
else printf("普通三角形!\n");
}
else printf("不能构成三角形!\n");
printf("\n输入三角形的三条边,q to quit:\n");
}
return 0;
}

本回答被网友采纳