您的位置:首页 > 其它

单元测试

2015-06-23 01:16 260 查看
代码:

#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);

}


错误:

max变量要初始化,否则计算机会根据之前的存储情况赋值,或许导致结果错误。i<length,如果是i<(length-1),那么最后一个数将不能被查到。

截图:

①全是正数

②全是负数

③有正有负

④最大值重复

⑤如果数组长度为0

出现的问题:

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

解决方案:

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

改后代码:

#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);

}

总结:我们在写程序的时候应该完成一个模块就对一个模块进行测试修改而不是等到全部代码敲完在测试那样会很困难而且时间浪费的更多。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: