【C程序】
int GetMaxDay( int year, int month){
int maxday=0; //1
if( month>=1&&month<=12){ //2,3
if(month==2){ //4
if( year%4==0){ //5
if(year%100==0){ //6
if( year%400==0) //7
maxday= 29; //8
else //9
maxday= 28;
}
else //10
maxday= 29;
}
else
maxday = 28; //11
}
else{ //12
if (month==4||month==6||month==9||month==11) //13, 14,15,16
maxday = 30; //17
else //18
maxday = 31;
}
}
return maxday; //19
}
【问题1】(6分)
请针对上述C程序给出满足100%DC(判定覆盖)所需的逻辑条件。
【问题2】(9分)
请画出上述程序的控制流图,并计算其环路复杂度V(G)。
【问题3】(5分)
请给出问题2中控制流图的线性无关路径。
正确答案及解析
正确答案
解析
【问题1】:
Month>=1&&month<=12
Month<1||month>12(或者与之等价的,使得判定为假)
Month==2
Month!=2(或者与之等价的,使得判定为假)
Year%4==0
Year%4!=0(或者与之等价的,使得判定为假)
Year%100==0
Year%100!=0 (或者与之等价的,使得判定为假)
Year%400==0
Year%400!=0(或者与之等价的,使得判定为假)
Month==4 ||Month==6 ||Month==9 ||Month==11
Month!=4 ||Month!=6 ||Month!=9 ||Month!=11(或者与之等价的,使得判定为假)
【问题2】:
V(G)=11
【问题3】:
1、2、19
1、2、3、19
1、2、3、4、12、13、17、19
1、2、3、4、12、13、14、17、19
1、2、3、4、12、13、14、15、17、19
1、2、3、4、12、13、14、15、16、17、19
1、2、3、4、12、13、14、15、16、18、19
1、2、3、4、5、11、19
1、2、3、4、5、6、10、19
1、2、3、4、5、6、7、9、19
1、2、3、4、5、6、7、8、19
你可能感兴趣的试题
在几种不同类型的软件维护中,通常情况下()所占工作量最大。
-
- A.更正性维护
- B.适应性维护
- C.完善性维护
- D.预防性维护
- 查看答案
在()中,项目经理的权力是最小的。
-
- A.强矩阵型组织
- B.平衡矩阵组织
- C.弱矩阵型组织
- D.项目型组织
- 查看答案
在项目实施的过程中,项目经理通过项目周报中的项目进度分析图表发现机房施工进度有延期风险。项目经理立即组织相关人员进行分析,下达了关于改进措施的书面指令。该指令属于( )
-
- A.检查措施
- B.缺陷补救措施
- C.预防措施
- D.纠正措施
- 查看答案
-
- A.见图A
- B.见图B
- C.见图C
- D.见图D
- 查看答案
-
- A.见图A
- B.见图B
- C.见图C
- D.见图D
- 查看答案