问题
问答题
以下使用C语言编写,它根据输入的分数计算学生的成绩等级。
int score2level(int score)
int level;
if(score>100 || score<0) level=-1;
else if(score>=90) level=1;
else if(score>=80) level=2;
else if(score>=70) level=3;
else if(score>=60) level=4;
else level=5;
return level;
请画出上面程序的控制流图,计算上述控制流图的环路复杂度V(G)。
答案
参考答案:先将if(score>100||score<0)转换为
If(score>100)
level=-1;
else
if(score<0)
level=-1;
else......
再画出程序控制流图。圈复杂度V(G)=控制流图中独立区域的个数。
控制流图如下图所示。
根据控制流图中的独立区域数可以得知圈复杂度V(G)=7。