课上单元测试
需要测试的代码:
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; }
自己写的代码,完成测试:
//chenchang 单元测试 20143051 //2016 3 21 #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 num=6,changdu=10; int max=0; int shu_zu[10]; while(num>0) { cout<<"请输入长度不超过10的整数数组,请输入数组长度:"<<endl; cin>>changdu; if(changdu==0) { cout<<"数组长度为0,没有最大值!"<<endl; num--; continue; } cout<<"请输入数组:"<<endl; for(int i=0;i<changdu;i++) { cin>>shu_zu[i]; } max=Largest(shu_zu,changdu); cout<<"最大值:"<<max; num--; } }
修改后的代码:
int Largest(int list[],int length) { int i,max; max=list[0]; for(i=1;i<length;i++) { if(list[i]>max) { max=list[i]; } } return max; }
测试代码的错误有两点:
1.整型max没有初始化
2.数组长度为length,而实际比较的长度为length-1,数组中最后一个数没有参加比较
测试数据的意义:
1.测试数据:1 2 3 4 5 顺序输入
2.测试数据:5 4 3 2 1 倒叙输入
3.测试数据:34 2345 3 56 63 4乱序输入
4.测试数据:数组长度为零
5.测试数据:-2 -5 -6 负数输入
6.测试数据:3 3 3 3 3 相同数输入
结果截图: