UT源码-160
设计三角形问题的程序
输入三个整数a、b、c,分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形(特殊的还有直角三角形),以及不构成三角形。(等腰直角三角形,判断为等腰三角形)
现在要求输入三个整数a、b、c,必须满足以下条件:
条件1 1≤a≤100 条件4 a<b+ c
条件2 1≤b≤100 条件5 b<a+ c
条件3 1≤c≤100 条件6 c<a+ b
String triangle(int a,int b,int c) 返回字符型
程序要求:
1)先显示:“请输入三角形的三条边:”
2)只要有不满足条件1,2,3之一,就返回“边的值不在范围内!”
3)只要有不满足4,5,6之一,就返回“不构成三角形”
4)根据边的情况分别返回:“等边三角形”“等腰三角形”“直角三角形”“一般三角形”
#include<stdio.h> #include<iostream> using namespace std; char triangle(int a,int b,int c) { if(a<b+c && b<a+c && c<a+b) { int temp = 0; if(a>b) { temp = a; a = b; b = temp; } if(a>c) { temp = a; a = c; c = temp; } if(b>c) { temp = b; b = c; c = temp; } if((a == b )&& (a== c)) { return '1'; }else if((a ==b) && a!=c) { return '2'; }else if( a*a+b*b == c*c ) { return '3'; }else { return '4'; } }else { printf("不构成三角形\n"); return '0'; } } void main() { int a=0,b=0,c=0; printf("请输入三角形的三条边\n"); scanf("%d%d%d",&a,&b,&c); char ac=' '; if(a<1 || a>100 || b<1 || b>100 || c<1 || c>100) { printf("边的值不存在\n"); }else { ac = triangle(a,b,c); if(ac == '1') printf("等边三角形\n"); else if(ac == '2') { printf("等腰三角形\n"); } else if(ac == '3') { printf("直角三角形\n"); }else if(ac == '4') { printf("一般三角形\n"); } } system("pause"); }