zoukankan      html  css  js  c++  java
  • 初级题:从考试成绩中划出及格线

    初级题:从考试成绩中划出及格线
    10个学生考完期末考试评卷完成后,A老师需要划出及格线,要求如下:
    (1) 及格线是10的倍数;
    (2) 保证至少有60%的学生及格;
    (3) 如果所有的学生都高于60分,则及格线为60分

    输入:输入10个整数,取值0~100
    输出:输出及格线,10的倍数

    #include <iostream>                                                                                                 
    #include <string>                                                                                                   
    #include <vector>                                                                                                   
    #include <algorithm>                                                                                                
    #include <functional>                                                                                               
                                                                                                                        
    using namespace std;                                                                                                
                                                                                                                        
    const int PASS_SCORE = 60;      //默认及格分数                                                                                   
    const int SCORE_NUM = 10;       //学生个数                                                                 
                                                                                                                        
    int main()                                                                                                          
    {                                                                                                                   
            vector<int> vecscore;     //保存分数                                                                                   
            int score;                                                                                                  
            cout<<"Please input "<<SCORE_NUM<<" integers in [0,100]."<<endl;                                            
            for(int i = 1;i <= SCORE_NUM; i++)        //循环输入10个学生的分数值                                                               
            {                                                                                                           
                    cin>>score;                                                                                         
                    if(score >=0 && score <= 100)         //判断输入值合法性                                                              
                    {                                                                                                   
                            vecscore.push_back(score);                                                                  
                    }                                                                                                   
                    else                                                                                                
                    {                                                                                                   
                            cout<<"please input integer between 0 and 100(including 0 and 100)."<<endl;                 
                            return 0;                                                                                   
                    }                                                                                                   
            }                                                                                                           
            sort(vecscore.begin(),vecscore.end(),less_equal<int>());    //对输入的10个分数值进行排序,从小到大                                                 
            vector<int>::iterator it;                                                                                   
            for(it = vecscore.begin();it != vecscore.end(); ++it)           //输出排序后的分数值                                               
            {                                                                                                           
                    cout<<*it<<" "<<endl;                                                                               
            }                                                                                                           
            if(vecscore[0] >= PASS_SCORE)            //如果最小的分数值大于等于60,则及格分数为60                                                                    
            {                                                                                                           
                    cout<<"the score for passing examination is 60"<<endl;                                               
            }                                                                                                           
            else                                                                                                        
            {                                                                                                           
                    score = vecscore[4]-vecscore[4]%10;       //为了保证60%的同学及格,至少需要保证6个同学的分数高于及格分数,从高到低以第6个同学的分数为参考,并保证及格分数为10的倍数                                                 
                    cout<<"the score for passing examination is:"<<score<<endl;                                         
            }                                                                                                           
            return 0;                                                                                                   
    }                                                                                                                   

  • 相关阅读:
    网络管理 之 Fedora Core 网络配置工具systemconfignetwork介绍
    文件系统管理 之 在Fedora core 4.0 加载NTFS和FAT32分区详述
    系统引导管理 之 系统引导管理器GRUB,为初学者指南
    文件系统管理 之 reiserfs文件系统反删除(Undelete)操作的实践
    文件系统管理 之 Linux 文件系统概述
    安装配置管理 之 apt+synaptic 为Fedora core 4.0 中安装Nvida芯片显示卡及Ati 卡显示驱动
    安装配置管理 之 安装和配置 JPackage Java
    安装配置管理 之 Fedora 6.0 蓝牙bluebooth传送文件的问题解决方法
    软件包管理 之 关于Fedora Core 5.0 通过Yum在线升级说明
    软件包管理 之 文件解压缩
  • 原文地址:https://www.cnblogs.com/followyourdream/p/3316786.html
Copyright © 2011-2022 走看看