下列给定程序中,函数fun()的功能是:根据输人的三条边长(整形),判断能否构成三角形;构成的是等边三角形还是等腰三角形。若能构成等边三角形函数,返回3;若能构成等腰三角形函数,返回2;若构成=三角形函数,返回l;若不能构成三角形函数返回0。 请修改函数fun()中的错误,得出正确的结果。 注意:不要改动main()函数,不能增行或减行,也不能更改程序的结构。 试题程序:
第1题:
10、某程序规定:“输入三个整数作为三边的边长构成三角形。当此三角形为一般三角形、等腰三角形、等边三角形时,分别作计算„” 用等价类划分方法对该程序构成三角形部分进行测试用例设计。下列哪些等价类划分是合适的 。
A.整数
B.函数
C.负数
D.0
第2题:
某程序规定:“输入三个整数作为三边的边长构成三角形。当此三角形为一般三角形、等腰三角形、等边三角形时,分别作计算” 用等价类划分方法对该程序构成三角形部分进行测试用例设计。下列哪些等价类划分是合适的。()
A.0
B.函数
C.整数
D.负数
第3题:
在三角形计算中,要求三角型的三个边长:A、B 和C。当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。若是等腰三角形打印“等腰三角形”,若是等边三角形,则提示“等边三角形”。给出程序伪代码、控制流程图、找出基本测试路径。
第4题:
编写一个三角形判定函数,输入三角型的三个边长:A、B 和C。当三边不可能构成三角 形时提示错误,可构成三角形时计算三角形周长。若是等腰三角形打印“等腰三角形”,若 是等边三角形,则提示“等边三角形”。 (1)请写出弱一般、强一般、弱健壮等价类测试用例 (2)请写出强健壮等价类的测试用例个数 要求写出分析过程
第5题:
编写一个三角形判定函数,输入三角型的三个边长:A、B 和C。当三边不可能构成三角 形时提示错误,可构成三角形时计算三角形周长。若是等腰三角形打印“等腰三角形”,若 是等边三角形,则提示“等边三角形”。 请根据决策表法设计测试用例。
第6题:
给定程序MODll.C中函数fun的功能是:根据输入的三个边长(整型值),判断能否构成三角形:构成的是等边三角形,还是等腰三角形。若能构成等边三角形函数返回3,若能构成等腰三角形函数返回2,若能构成一般三角形函数返回1,若不能构成三角形函数返回0。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
第7题:
下列给定程序中,函数fun()的功能是:根据输入的3个边长(整型值),判断能否构成三角形:若能构成等边三角形,则返回3,若是等腰三角形,则返回2,若能构成三角形则返回1,若不能,则返回0。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include <math. h>
int fun(int a, int b, int c)
{ if (a+b>c&&b+c>a&&a+c>b)
{ if (a==b&&b==c)
/*************found**************/
return 1;
else if(a==b|| b==c||a==c)
return 2;
/*************found**************/
else return 3;
}
else return 0;
}
main ( )
{ int a,b, c, shape;
printf("\nInput a,b,c: ");
scanf ("%d%d%d", &a, &b, &c);
printf ("\na=%d, b=%d, c=%d\n",a,b,c);
shape=fun (a,b, c);
printf ("\n\nThe shape : %d\n", shape);
}
第8题:
下列给定程序中,函数proc的功能是:根据输入的3个边长(整型值),判断能否构成三角形:若能构成等边三角形,则返回3;若是等腰三角形,则返回2;若能构成三角形则返回 1;若不能,则返回0。 例如,输入3个边长为3,4,5,实际输入时,数与数之间以Enter键分隔而不是逗号。请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: include<stdio.h> include<math.h> int proc(int a,int b,int c) { if(a+b>c&&b+c>aa+c>b) { if(a= =b&&b= =c) //****found**** return 1; else if(a= =b||b= =c||a= =c) return 2; //****found**** else return 3; } else return 0; } void main { int a,b,C,shape; printf("\nlnput a,b,C:"); scanf("%d%d%d",&a,&b,&c); printf("\na=%d,b=%d,c=%d\n",a,b,c); shape=proc(a,b,c); printf("\n\nThe shape:%d\n",shape); }
第9题:
下列给定程序中,函数proc的功能是:根据输入的:个边长(整型值),判断能否构成三角形:若能构成等边三角形,则返回3;若是等腰三角形,则返回2;若能构成三角形则返回l;若不能,则返回0。 例如,输入3个边长为3,4,5,实际输入时,数与数之间以Enter键分隔而不是逗号。 请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: include<stdio.h> include<math.h> int proc(int a,int b,int c) { if(a+b>c&&b-c>a&&a+c>b) { if(a==b&&b==c) //****found**** return 1; else if(a==b|| b==C||a==c) return 2; //****found**** else return 3; } else return 0; } void main { int a,b,c,shape; printf("\nInput a,b,c:"); scanf("%d%d%d",&a,&b,&c); printf("\na=%d.b=%d,c=%d\n",a,b,c); shape=proc(a,b.c): printf("\n\nThe shape:%d\n",shape); }
(1)错误:return 1;
正确:return 3;
(2)错误:return 3;
正确:return 1;
【解析】三条边都相等的三角形为等边三角形,按题目中要求,等边三角形返回3,若不是等边三角形也不是等腰三角形则返回1,因此,“return 1;”应改为“return 3;”;“re turn 3;”应改为“return 1;”。