姓名:郭新宇 学号:11040242004
1、三角形问题
输入三个整数a、b、c 分别作为三角形的三条边 现通过程序判断由三条边构
成的三角形的类型为等边三角形、等腰三角形、一般三角形、特殊的还有直角三角形,以
及不构成三角形。
现在要求输入三个整数a、b、c 必须满足以下条件
条件1 1≤a<100 条件4 a 条件2 1≤b<100 条件5 b 条件3 1≤c<100 条件6 c如果输入值a、b、c不满足条件1、条件2和条件3 程序给出“边的取值超出允许范 围”的信息。 如果输入值a、b、c 满足条件1、条件2和条件3 则输出下列四种情况之一 1 如果不满足条件4、条件5和条件6中的一个 则程序输出为“非三角形”。 2 如果三条边相等 则程序输出为“等边三角形”。 3 如果恰好有两条边相等 则程序输出为“等腰三角形”。 4 如果三条边都不相等 则程序输出为“一般三角形”。 2、测试目的: 通过测试,判断程序是否达到预期的要求,程序是否存在问题。 3、测试用例设计依据和方法: 等价类方法和边界值方法。 4、测试用例设计分析 1,、有效数据位1到100 2、输出结果:非三角形,等腰三角形,等边三角形,直角三角形,一般三角形或XX 的值不在允许范围内 5、测试用例表 等价类:
边界类:操作过程 序号 输入及操作说明 期望的测试值 评价标准 实测结果 1 1,2,4 非三角形 非三角形 非三角形 2 5,5,5 等边三角形 等边三角形 等边三角形 3 3,4,5 直角三角形 直角三角形 直角三角形 4 2,3,3 等腰三角形 等腰三角形 等腰三角形 5 6,7,9 一般三角形 一般三角形 一般三角形 6 -1,5,5 a 的值不在允许范围内 a 的值不在允许范围内 a 的值不在允许范围内 7 5,-1,5 b 的值不在允许范围内 b 的值不在允许范围内 b 的值不在允许范围内 8 5,5,-1 c 的值不在允许范围内 c 的值不在允许范围内 c 的值不在允许范围内 9 101,5,5 a 的值不在允许范围内 a的值不在允许范围内 a 的值不在允许范围内 10 5,101,5 b 的值不在允许范围内 b 的值不在允许范围内 b 的值不在允许范围内 11 5,5,101 c 的值不在允许范围内 c 的值不在允许范围内 c 的值不在允许范围内
操作过程 | ||||
序号 | 输入及操作说明 | 期望的测试值 | 评价标准 | 实测结果 |
1 | 60,60,1 | 等腰三角形 | 等腰三角形 | 等腰三角形 |
2 | 60,60,0 | c的值不在允许范围内 | c的值不在允许范围内 | c的值不在允许范围内 |
3 | 60,60,60 | 等边三角形 | 等边三角形 | 等边三角形 |
4 | 70,70,99 | 等腰三角形 | 等腰三角形 | 等腰三角形 |
5 | 70,70,100 | c的值不在允许范围内 | c的值不在允许范围内 | c的值不在允许范围内 |
6 | 60,1,60 | 等腰三角形 | 等腰三角形 | 等腰三角形 |
7 | 60,0,60 | b 的值不在允许范围内 | b 的值不在允许范围内 | b 的值不在允许范围内 |
8 | 70,99,70 | 等腰三角形 | 等腰三角形 | 等腰三角形 |
9 | 70,100,70 | b 的值不在允许范围内 | b 的值不在允许范围内 | b 的值不在允许范围内 |
10 | 1,60,60 | 等腰三角形 | 等腰三角形 | 等腰三角形 |
11 | 0,60,60, | a 的值不在允许范围内 | a的值不在允许范围内 | a的值不在允许范围内 |
12 | 99,70,70 | 等腰三角形 | 等腰三角形 | 等腰三角形 |
13 | 100,70,70 | a 的值不在允许范围内 | a 的值不在允许范围内 | a 的值不在允许范围内 |
#include void main() { int a,b,c; printf("请输入三个整数,用逗号分隔!"); scanf("%d,%d,%d",&a,&b,&c); if((a<=0)||(b<=0)||(c<=0)) { if(a<=1) printf("a 的值不在取值范围内!"); else if (b<=1) printf("b 的值不在取值范围内!"); else if (c<=1) printf("c 的值不在取值范围内!"); } else if ((a>=100)||(b>=100)||(c>=100)) { if (a>=100) printf("a 的值不在取值范围内!"); else if (b>=100) printf("b 的值不在取值范围内!"); else if (c>=100) printf("c 的值不在取值范围内!"); } else if ((a+b<=c)||(b+c<=a)||(a+c<=b)) printf("非三角形!"); else if ((a==b)&&(b==c)&&(a==c)) printf("等边三角形!"); else if (((a==b)&&(a!=c))||((a==c)&&(a!=b))||((c==b)&&(a!=c))) printf("等腰三角形!"); else if (a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b) printf("直角三角形!"); else printf("一般三角形!"); }