【基础练习】公务员面试

公务员面试

http://www.nowcoder.com/questionTerminal/f3a134908d5b41869f14f58307008a97

题目描述
公务员面试现场打分。有7位考官,从键盘输入若干组成绩,每组7个分数(百分制),去掉一个最高分和一个最低分,输出每组的平均成绩。
输入描述:
一行,输入7个整数(0~100),代表7个成绩,用空格分隔。
输出描述:
一行,输出去掉最高分和最低分的平均成绩,小数点后保留2位,每行输出后换行。

解题思路
1.可以通过对比找出最高成绩和最低成绩,然后将七个成绩相加再减去max和min求平均值。
2.通过sort将输入的数组进行排序,然后将中间五个相加后取平均值。

代码
1

#include<iostream>
#include<iomanip>  //C++中浮点数保留小数点的有文件要有此文件

using namespace std;

int main()
{
    int a[8];
    int max=0;
    int min=100;
    for(int i=0;i<7;++i)
    {
        cin>>a[i];
        if(max<a[i])
            max=a[i];//max始终等于最大的那个
        if(min>a[i])
            min=a[i];//min始终等于最小的那个
    }//这个for循环的目的是找出最大值max和最小值min
    float result;
    result=(float)((a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[0]-max-min)*1.0/5);//求出平均值
    cout<<fixed<<setprecision(2)<<result<<endl;//设置要保留的小树点点数
}

2

#include<iostream>
using namespace std;

int main(){
    float a[8];
    for(int i = 0 ; i < 7; i++) {
        cin >> a[i];
    }
    sort(a, a + 7);//这里采用了排序的方法找到最大值和最小值
    float sum = 0;
    for(int i = 1; i < 6; i++) {//除去最大最小值后求平均值
        sum += a[i];
    }
    cout << fixed << setprecision(2) << sum / 5 << endl;//设置要保留的小树点点数
    return 0;
}
全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务