题库 题库

【简答题】

试题一(15分)
    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
[说明]
    以下代码由C语言书写,能根据指定的年、月计算当月所含天数。
int GetMaxDay( int year, int month )
{
    int maxday = 0;
    if ( month >= 1 && month <= 12 )
    {
        if ( month == 2 )
        {
            if ( year % 4 == 0 )
            {
                if ( year % 100 == 0 )
                {
                    if ( year % 400 == 0 )
                        maxday = 29;
                    else
                        maxday = 28;
                }
                else
                    maxday = 29;
            }
            else
                maxday = 28;
        }
        else
        {
            if ( month == 4 || month == 6 || month == 9 || month == 11 )
                maxday = 30;
            else
                maxday = 31;
        }
    }
    return maxday;
}
[问题1](4分)
    请画出以上代码的控制流图。

[问题2](3分)
    请计算上述控制流图的环路复杂度V(G)。

[问题3](8分)
    假设year的取值范围是1000 < year < 2001,请使用基本路径测试法为变量year、month设计测试用例(写出year取值、month取值、maxday预期结果),使之满足基本路径覆盖要求。

参考答案

相关试题