编写一个处理一维数组的通用过程(函数或子程序),该过程可以实现对任意数值型一维数组按从大到小进行排序。已知数组A(数据附后),编写主程序调用以上过程,输出经过排序之后的最小的3个数组元素的平均值。(结果保留到小数点后两位) A数组的数据如下: 56, 78, 98, 45, 58, 34, 12, 90, 76, 85
1 回答
哔哔one
TA贡献1854条经验 获得超8个赞
你问题需要描述的更清楚一点,1.你想用什么语言实现?2.排序是升序还是降序? 我用C#写了下,代码如下: class Program { static void Main(string[] args) { float[] myArray = new float[] { 56, 78, 98, 45, 58, 34, 12, 90, 76, 85}; Console.WriteLine("The Result is "+AverageOfLastTreeArrayElements(myArray)); Console.Read(); } public static float AverageOfLastTreeArrayElements(float[] myArray) { Array.Sort(myArray); int length=myArray.Length; float total = myArray[length - 1] + myArray[length - 2] + myArray[length - 3]; float result = total / 3; return result; } } JAVA跟C#都包含工具类Array对数组进行操作(JAVA的Array类在Util包中),如果是升序,可直接调用Array.Sort()方法,如果降序,则调用完毕后还需对数组进行反转,即Array.Reverse(),如果用C写,那只有写个冒泡排序了。
- 1 回答
- 0 关注
- 161 浏览
添加回答
举报
0/150
提交
取消