问题 问答题

以下使用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。

多项选择题
填空题