问答题
以下使用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)=控制流图中独立区域的个数。
控制流图如下图所示。

【答案解析】