首页 > 其他 > 详细

课堂知识

时间:2014-03-10 12:02:59      阅读:388      评论:0      收藏:0      [点我收藏+]
今天课堂上老师让我们检测下面程序的正确性:

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; }

很明显的是for循环语句中的
i<length-1明显不对,然后max没有初始值系统默认的是0;
当然如果全是正整数 没有问题;但是如果全是负数。。。那么max就是0了
所以 负值 max=list[1];这样就可以了 然后就没有什么大的问题了;然后老师让我们输入测试数据 并且记录;
淡然按照我们的想法 输入各种数据得到的结果都是一样的;然后老师就问我们:
1. 万一输入的不是整数怎么办
2.万一输入的是空数组怎么办
这下我蛋疼了 ;完全没有考虑啊 ....让老师这么一说还真是这么一回事;
经过修改后的程序如下:
int Largest(int list[],int length)
  {    
    if(list==null)
{
    return 0;//数组不能为0
}
    else if(length==0)
{
        return 0;//长度不能为0
}
    int i,max;
    max=list[0];
    for(i=0;i<=length-1;i++)
    {
        if(list[i]>max)
        {
            max=list[i];
        }
    }
    return max;
}
这堂课让我深刻认识的编程的严谨性;并且考虑的全面性 ;不能按照自己的想法来怎么着 因为程序是给别人使用的..

课堂知识,布布扣,bubuko.com

课堂知识

原文:http://www.cnblogs.com/songjingchao/p/3590860.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!