码迷,mamicode.com
首页 > 其他好文 > 详细

课堂练习--单元测试

时间:2015-03-28 23:12:22      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:

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.总结

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

课堂练习--单元测试

标签:

原文地址:http://www.cnblogs.com/gting/p/4374932.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!