练习PTA基础编程题“6-5 求自定类型元素的最大值”本地调试与提交踩坑
花了一个小时去想这个最大值,没想到想复杂了。PTA6-5最大值求取练习

第一个问题:求取最大值循环次数
过程:用了两个循环函数去求最大值,导致乱套了

分析:我原意想让每个项数比较然后将比较出的最大值赋给max,忘记了外循环会不断变动内循环得出的max
解决:

通过使用第一个项数不断与别的项数比较,将每次求出的最大值固定进一步比较
第二个问题:用数组中的元素比较
过程:最开始把max赋值为0
现象:当项数全为负数时,输出错误
原因:用max去和全为负数的数组比较,结果肯定有问题
解决:把max赋值为数组第一个数
分析:求最大值,是数组内部数的比较,给max赋值0相当于把0也当作比较对象
总结:求取最大值只需要一个循环,同时比较大小也要严格使用数组中的元素
总代码如下:
ElementType Max( ElementType S[], int N )
{
int i;
ElementType max = S[0];
for (i=1; i<N; i++){
if(max<S[i]){
max = S[i];
}
}
return max;
}
浙公网安备 33010602011771号