【C程序】 int GetMaxDay( int year, int mont

练习题库2022-08-02  31

问题 【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<=12Month<1||month>12(或者与之等价的,使得判定为假)Month==2Month!=2(或者与之等价的,使得判定为假)Year%4==0Year%4!=0(或者与之等价的,使得判定为假)Year%100==0 Year%100!=0 (或者与之等价的,使得判定为假)Year%400==0Year%400!=0(或者与之等价的,使得判定为假)Month==4    ||Month==6   ||Month==9  ||Month==11Month!=4    ||Month!=6   ||Month!=9  ||Month!=11(或者与之等价的,使得判定为假)【问题2】:V(G)=11【问题3】:1、2、191、2、3、191、2、3、4、12、13、17、191、2、3、4、12、13、14、17、191、2、3、4、12、13、14、15、17、191、2、3、4、12、13、14、15、16、17、191、2、3、4、12、13、14、15、16、18、191、2、3、4、5、11、191、2、3、4、5、6、10、191、2、3、4、5、6、7、9、191、2、3、4、5、6、7、8、19
转载请注明原文地址:https://tihaiku.com/congyezige/2417950.html

最新回复(0)