题解 | #公务员面试#
公务员面试
https://www.nowcoder.com/practice/f3a134908d5b41869f14f58307008a97
public class Program { public static void Main() { //方法一 使用冒泡排序 // string inPut; // string result = ""; // double average = 0; // while ((inPut = System.Console.ReadLine()) != null) { // string[] num = inPut.Split(" "); // //冒泡排序 // for (int i = 0; i < num.Length - 1; i++) { // bool outflag = false; // for (int j = 0; j < num.Length - 1 - i; j++) { // //转化为int之后排序 // if (int.Parse(num[j]) > int.Parse(num[j + 1])) { // string tmp = num[j]; // num[j] = num[j + 1]; // num[j + 1] = tmp; // outflag = true; // } // } // //如果某一轮没有发生比较,说明此数组已有序 // if (!outflag) // break; // } // //排序后去头去尾算平均数即可 // average = 0; // for (int i = 1; i <= 5; i++) { // average += int.Parse(num[i]); // } // average /= 5.0; // //保留两位小数并且换行 // result += average.ToString("F2") + "\n"; // } // System.Console.WriteLine(result); //方法二 找出最大和最小的数减去即可 int max = 0, min = 0; double average = 0; string inPut, result = ""; while ((inPut = System.Console.ReadLine()) != null) { string[] num = inPut.Split(" "); //循环找出最大最小数 min = max = int.Parse(num[0]); for (int i = 0; i < num.Length; i++) { if (max < int.Parse(num[i])) max = int.Parse(num[i]); if (min > int.Parse(num[i])) min = int.Parse(num[i]); } average = (int.Parse(num[0]) + int.Parse(num[1]) + int.Parse( num[2]) + int.Parse( num[3]) + int.Parse(num[4]) + int.Parse(num[5]) + int.Parse( num[6]) - min - max) / 5.0; result += average.ToString("F2") + "\n"; } System.Console.WriteLine(result); } }