课堂练习--单元测试

1.程序代码

//郭婷 20132916 信1305 2015/3/27

#include<iostream>

using namespace std;



int Largest(int list[], int length)

{

    int i, max;

    max = list[0];

    for (i = 0; i < length ; i++)

    {

        if (list[i]>max)

        {

            max = list[i];

        }

    }

    return max;

}



void main()

{

    int list[5],length;

    int i;

    cin >> length;

    for (i = 0; i < length; i++)

    {

        cin >> list[i];

    }                

    cout << Largest(list, length);

}                                    

2.错误查找

max变量要初始化,否则计算机会根据之前的存储情况赋值,或许导致结果错误。

i<length,如果是i<(length-1),那么最后一个数将不能被查到。

3.测试结果

全是正数

全是负数

课堂练习--单元测试

有正有负

 

课堂练习--单元测试

最大值重复

课堂练习--单元测试

如果数组长度为0

课堂练习--单元测试

4.出现的问题

由上面的测试结果看,当数组长度为0时,结果会出现问题。

5.解决方案 

如果用户输入的数组长度为0,就返回0。

6.修改后的源代码

//郭婷 20132916 信1305 2015/3/27

#include<iostream>

using namespace std;



int Largest(int list[], int length)

{

    int i, max;

    max = list[0];

    if (length == 0 || list == NULL)

    {

        return 0;

    }

    for (i = 0; i < length ; i++)

    {

        if (list[i]>max)

        {

            max = list[i];

        }

    }

    return max;

}



void main()

{

    int list[5],length;

    int i;

    cin >> length;

    for (i = 0; i < length; i++)

    {

        cin >> list[i];

    }                

    cout << Largest(list, length);

}                                    

6.总结

在之前如果写这个程序,我一定不会考虑到如果数组的长度为零的情况,在学完这节课,测试了这个程序后,了解了程序在编写过程中要考虑各种情况,并且要针对出现的问题做出相应的解决方案。

你可能感兴趣的:(单元测试)