首页 > 试题广场 >

输入三个整数,判断是否可构成三角形,请根据你了解的测试用例设

[问答题]
输入三个整数,判断是否可构成三角形,请根据你了解的测试用例设计方法设计用例。
推荐
#include <stdio.h>
#include <math.h>
#define EPS 1e-1
main()
{
	float a,b,c;
	int flag = 1;
	printf("Input a b c: ");
	scanf("%f %f %f",&a,&b,&c);
	if(a+b>c && b+c>a && a+c>b)
	{
		if(fabs(a-b)<=EPS && fabs(b-c)<=EPS && fabs(a-c)<=EPS){
			printf("等边");			//等边
			flag = 0; 		//置标志变量flat为0 
		}					//表示其执行了该语句 
						
		else if(fabs(a-b)<=EPS || fabs(b-c)<=EPS || fabs(a-c)<=EPS){
			printf("等腰"); 		//等腰
			flag = 0;
		}
		if (fabs(a*a+b*b-c*c)<=EPS||fabs(c*c+b*b-a*a)<=EPS||fabs(a*a+c*c-b*b)<=EPS){
			printf("直角");
			flag = 0; 
		}
		if (flag){	//用于标志,只要上面语句有执行了的 
					//则flag=0 为假,则不执行这条语句 
					//诺没 执行的上面语句
					//则flag=1 真  ---一般 
			printf("一般");
		}
		printf("三角形\n");
	}
	
	else
	{
		printf("不是三角形\n"); 
	} 
	
}

编辑于 2017-05-24 13:49:51 回复(1)
根据等价类划分方法来设计测试用例,如下:首先要设计满足三角形的条件,输入的三个数必须大于0,且同时满足任意两边之和大于第三边。假设三条边是A/B/C,则要满足的条件为A>0,B>0,C>0,A+B>C,A+C>B,B+C>A。以此为例来进行设计即可。
发表于 2017-02-24 14:41:02 回复(0)
判断条件 任意两边之和大于第三边,任意两边之差小于第三边
发表于 2017-08-06 11:03:56 回复(0)