class 3 求数组中的最大值(单元测试)

    1.问题引出:

int Largest(int list[], int length)
{
    int i,max;
    for(i = 0; i < (length – 1); i ++ )
    {
          if(list[i] > max) 
          {
              max=list[i];
            }
     }
     return max;
}

由此段程序编写一个正确的程序实现求数组的最大值。

#include <iostream>
using namespace std;

int Largest(int list[],int length)
{
    int i,max = list[0];
    for(i = 0; i < length ; i++)
    {
        ;
        if (list[i] > max)
        {
            max = list[i];
        }
    }
    cout << max << endl;
    return max;
}
void main()
{
    int arr[5] = {-1,0,8,7,4};
    Largest(arr,5);
}

  测试时出现的错误有:

i < (length – 1)---i < length;

max没有赋初值,---max = list[0];

修改程序时测试时的数据有:1,2,3,4,5----结果4
分析以后可以看出length处的错误;
0,-4,3,2,1----结果1
可以得出max没有赋初值...
心得体会:一个小测试用例就可以看出一个程序的好坏对错,所以一定要对测试十分重视才行。另外老师说的实现占20%,测试占80%这个行业规范也要记住;关于负数、数值范围、数值类型、空值等一系列的参数或其他条件也要时刻警醒。
posted @ 2015-03-28 22:52  mengxiangjialzh  阅读(574)  评论(1编辑  收藏  举报