zoukankan      html  css  js  c++  java
  • 杭电2014 (第一次用vector ac题目)

    早就想用容器类来实现一些编程,今天也算是学了一点吧。

    vector的使用方法参考了某位博主的一篇文章,感觉写得还是不错的:http://blog.csdn.net/always2015/article/details/44976729

    然后还根据c++ primer plus 898 的#include<algorithm> 中的sort 来进行排序了。附上代码:

    #include <iostream>
    #include<math.h>
    #include <iomanip>
    #include<cstdio>
    #include<string>
    #include<map>
    #include<vector>
    #include<algorithm>
    #include<stdlib.h>
    using namespace std;
    
    int main()
    {
    
        int num,n;
         double sum=0;
        while(cin>>num)
       {
           vector<int> score;
           while(num--){
    
            cin>>n;
            score.push_back(n);
           }
    
            sort(score.begin(),score.end());//对vector进行排序
            score.erase(score.begin());//下面两个掐头去尾
            score.erase(score.end()-1);//end 指向的是最后一个元素的后一位 所以end-1
    
            int j=score.size();//大小
    
            for(int i=0;i<j;i++){
                sum=sum+score[i];
            }
            cout<<fixed<<setprecision(2)<<sum/j<<endl;
            sum=0;
       }
    
    
        return 0;
    }

    然后附上不用STL 的代码:

    #include <iostream>
    #include<iomanip>
    using namespace std;
    
    int main()
    {
        int n,*judge_person,max_num,min_num,total_num=0;
        float average;
        while(cin>>n)
        {
            //为评委人数分配空间
            judge_person=new int[n];
    
            for(int i=0; i<n; i++)
            {
                //存储每个评委的打分
                cin>>judge_person[i];
    
                if(i==0)
                {
                    //刚开始将最大最小值都赋给第一个评委的打分
                    max_num=judge_person[i];
                    min_num=judge_person[i];
                }
                //比较得出最大值
                if(judge_person[i]>max_num)
                    max_num=judge_person[i];
                //比较得出最小值
                if(judge_person[i]<min_num)
                    min_num=judge_person[i];
                //对所有评委的打分进行累加
                total_num+=judge_person[i];
    
            }
            //求除去最高分和最低分后的平均分
            average=(float)(total_num-max_num-min_num)/(n-2);
            //格式输出
            cout<<setiosflags(ios::fixed)<<setprecision(2)<<average<<endl;
            //清零,进入下一个循环
            total_num=0;
        }
        return 0;
    }
  • 相关阅读:
    jquery web 國際化
    Struts2 分割字符串标签s:generator
    (55) 销售锁货功能
    (54) 记录销售单修改详细
    (53) 动态列表自定义
    exe文件作为服务启动
    (52)KeyError错误
    (51) magento集成增加到款通知
    (50)与magento集成
    (49) odoo context操作
  • 原文地址:https://www.cnblogs.com/William-xh/p/6822646.html
Copyright © 2011-2022 走看看