STEP #1

(1/2)

此处切换ai服务商,可对比多家ai的回复,取最优解。

上一步下一步关闭
酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

用c语言编写(不用match库):校运动会的表演项目有 n 位评委给选手打分,分值从 0 到 100。最终得 分的计算规则是:去掉一个最高分,去掉一个最低分(如果有多个最高或者最低分,也只需要去掉一个),剩下的评分的平均数就是这位选手的得分。现在输入评委人数和他们的打分,请输出选手的最后得分,精确到 2 位小数。输入:第一行输入一个正整数 n,表示评委个数。 第二行开始的 n 行依次输入 n 个非负整数,表示 n 个评委对选手的打分 输出:输出一个带两位小数的值,表示选手的最后得分

以下是用 C 语言实现的代码: ```c #include <stdio.h> // 计算选手得分的函数 float calculateScore(int n) { int scores[n]; // 存储评委打分的数组 int i; // 输入评委打分 for (i = 0; i < n; i++) { scanf("%d", &scores[i]); } // 对打分进行排序 for (i = 0; i < n - 1; i++) { for (int j = 0; j < n - i - 1; j++) { if (scores[j] > scores[j + 1]) { int temp = scores[j]; scores[j] = scores[j + 1]; scores[j + 1] = temp; } } } // 计算总分 float total = 0; for (i = 1; i < n - 1; i++) { total += scores[i]; } // 计算平均分并返回 return total / (n - 2); } int main() { int n; scanf("%d", &n); float score = calculateScore(n); printf("%.2f\n", score); return 0; } ``` 额外需要注意的逻辑点: 1. 输入评委打分时要确保输入的是有效的非负整数。 2. 排序算法的正确性,确保能正确找出最高分和最低分。 3. 计算平均分和输出结果时,注意精度的控制。 [2024-11-20 13:27:54 | AI写代码神器 | 367点数解答]

相关提问