通信1804王智超:C语言实现数组最大值与最小值查找及优化

需积分: 0 0 下载量 142 浏览量 更新于2024-08-05 收藏 811KB PDF 举报
本资源是一份通信工程1804班的大作业,由学生王智超于2018年4月21日提交。这份作业涉及软件技术基础课程的学习,主要任务包括创建新项目并完成五个不同的编程挑战。第一个挑战是设计一个算法,用于在一个包含n个元素的数组中查找最大和最小值。学生使用C语言实现了这个算法,通过遍历数组逐个比较元素来找到最大和最小值,时间复杂度为O(n)。 在C语言代码部分,学生提供了一个基础版本的程序,展示了如何使用for循环实现此功能。程序首先定义了一个整数数组`num`,然后初始化最大值和最小值为数组的第一个元素。接着,通过遍历数组,如果当前元素大于最大值,则更新最大值;如果小于最小值,则更新最小值。最后输出数组中的最大值和最小值。 遇到的问题中,学生分享了如何解决Visual Studio 2015的安装教程链接,以及在控制台应用中可能出现的闪退问题的解决方案。此外,为了优化算法,学生提出了一种改进方法,通过将数组分为两半,一次在左边找最小的,右边找最大的,大大减少了比较次数,将时间复杂度降低到O(N/2),提高了效率。 作业还包括了程序运行的截图,这有助于教授或同学理解和评估学生的编程实现。整个作业展示了对C语言基础操作的理解,同时也涵盖了数据结构和算法优化的基本概念。对于学习C语言和理解算法设计的学生来说,这是一个实用且具有挑战性的练习。