您的位置:首页 > 编程语言 > C语言/C++

初学二维数组心得

2014-03-03 17:46 274 查看
前几天遇到一个C语言的问题如下”要求定义一个3x4的二维数组,输出每一行的最大值中的最小值“,思索了一下代码如下:

 

 



做完后老师说还没有别的方法?想了半天老师最后给出了代码如下:


很显然代码二的代码比代码一的精简的多,但是思维难度加大,分析代码一的代码是由于每次max储存新值时都要释放原来的值,但是最后还要用储存的值比大小输出最小,所以定义一个一维数组去存储这组值,但是代码过于繁琐,特别是几个for循环,仔细分析这个过程可以看出来,每次比出每行的最大值时都要和min比较后处理,而定义的数组b[M]明显起个中间值的作用,所以完全可以不用这个数组,直接把max的值存入min,此时又出现一个问题!到底什么时候该存储?什么时候该比较呢?这时循环变量i起到了至关重要的作用,控制这个过程的进行。

从这个问题可以看出来,对于相同的问题的过程思考的深入与否直接影响代码的质量,不能说是代码一不好,代码一的思维过程简单,代码二的思考要深入一些,代码无所谓好坏只是不同的思维方式决定了代码的不同,当然不可否认的是代码二确实比代码一漂亮!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 二维数组