BC93. 公务员面试
描述
输入描述
每一行,输入7个整数(0~100),代表7个成绩,用空格分隔。输出描述
每一行,输出去掉最高分和最低分的平均成绩,小数点后保留2位,每行输出后换行。示例1
输入:
99 45 78 67 72 88 60
输出:
73.00
C 解法, 执行用时: 2ms, 内存消耗: 288KB, 提交时间: 2022-06-03
# include <stdio.h> int main(void) { int arr[7] = {0}; while (scanf("%d %d %d %d %d %d %d", &arr[0], &arr[1], &arr[2], &arr[3], &arr[4], &arr[5], &arr[6]) != EOF) { int min = arr[0]; int max = arr[0]; for (int i = 0; i < 7; i++) { // 遍历数组 if (arr[i] > max) // 最高分 max = arr[i]; if (arr[i] < min) // 最低分 min = arr[i]; } int sum = 0; for (int i = 0; i < 7; i++) { // 遍历数组 if (arr[i] < max && arr[i] > min) sum += arr[i]; } printf("%.2f\n",(float) sum / 5); } }
C 解法, 执行用时: 2ms, 内存消耗: 288KB, 提交时间: 2022-03-05
//多组输入 #include <stdio.h> int main() { double score = 0.0; double sum = 0.0; double max = 0.0; double min = 100.0; int cnt = 0; while (scanf("%lf", &score) != EOF) { cnt++; sum += score; if (max < score) { max = score; } if (min > score) { min = score; } if (cnt == 7) { printf("%.2lf\n", (sum - max - min) / 5.0); //重置 cnt = 0; max = 0.0; min = 100.0; sum = 0.0; score = 0.0; } } return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 288KB, 提交时间: 2022-01-06
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> void sort(int* arr,int n) { int i = 0; int j = 0; int temp = 0; for (i = 0; i < n - 1; i++) { for (j = 0; j < n - i - 1; j++) { if (*(arr+j) > *(arr+j+1)) { temp = *(arr + j); *(arr + j) = *(arr + j + 1); *(arr + j + 1) = temp; } } } } int main() { int arr[7] = { 0 }; int n = 7; int i = 0; float sum = 0; float ave = 0; while (scanf("%d %d %d %d %d %d %d", &arr[0], &arr[1], &arr[2], &arr[3], &arr[4], &arr[5], &arr[6]) != EOF) { sum = 0; sort(arr,n); for (i = 1; i < n - 1; i++) { sum += arr[i]; } ave = sum / (n - 2); printf("%.2f\n", ave); } }
C 解法, 执行用时: 2ms, 内存消耗: 292KB, 提交时间: 2022-07-26
#include<stdio.h> int main() { int a[7]; while(scanf("%d %d %d %d %d %d %d",&a[0],&a[1],&a[2],&a[3],&a[4],&a[5],&a[6])!=EOF) { int sum=0; int m=0,n=0; for(int i=0;i<7;i++) { if(a[i]<a[n]) n=i; if(a[i]>a[m]) m=i; } for(int i=0;i<7;i++) { if(i!=m&&i!=n) sum+=a[i]; } printf("%.2f\n",sum/5.0); } return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 292KB, 提交时间: 2022-07-21
#include<stdio.h> int main() { int a[7]={0}; while(scanf("%d%d%d%d%d%d%d",&a[0],&a[1],&a[2],&a[3],&a[4],&a[5],&a[6])!=EOF) { int max=0,min=100; double sum=0.0; for(int i=0;i<7;i++) { if(a[i]>max) max=a[i]; if(a[i]<min) min=a[i]; sum+=a[i]; } printf("%.2f\n",(sum-max-min)/5.0); } return 0; }