zoukankan      html  css  js  c++  java
  • 题目1002:Grading

    这道题的大概意思事:考试评分的过程:首先输入一个成绩P和允许误差T,然后再让G1,G2评分,如果G1和G2评分之间的误差小于T,则G1和G2之间的平均值就是最终的分数;如果G1和G2之间的分数差大于T,则再让G3评分;如果G3是和G1或者G2中间的某一个之间的误差小于T,则最终的结果取G3和该值的平均值;如果G3同时和G1和G2之间的误差都小于T,最终的结果则取G1,G2,G3的最大值;如果G3和G1与G2之间的误差都大于T,则再让另外一个人GJ打分作为最后的分数。

    依次输入:P,T,G1,G2,G3,GJ

    输出最终的成绩

     1 #include<iostream>
     2 #include <stdlib.h>
     3 #include <iomanip>
     4 #include<math.h>
     5 using namespace std;
     6 int main(){
     7     int P,T,G1,G2,G3,GJ;
     8     double grade;
     9     while(cin>>P){
    10         cin>>T>>G1>>G2>>G3>>GJ;
    11         if(T<0 || T>=P || G1<0 || G1>P || G2<0 || G2>P  || G3<0 || G3>P || GJ<0 || GJ>P){  
    12                 continue;
    13         }
    14         if(abs(G1-G2)<=T){
    15             grade=(double)(G1+G2)/2;
    16         }else if(abs(G1-G3)<=T && abs(G2-G3)<=T){
    17             grade=G1>G3?(double)G1:(double)G3;
    18             grade=grade>G2?grade:(double)G2;
    19         }else if(abs(G1-G3)<=T && abs(G2-G3)>T){
    20             grade=(double)(G1+G3)/2;
    21         }else if(abs(G2-G3)<=T && abs(G1-G3)>T){
    22             grade=(double)(G2+G3)/2;
    23         }else {
    24             grade=(double)GJ;
    25         }
    26         cout <<setiosflags(ios::fixed);
    27         cout<<setprecision(1)<<grade<<endl;
    28     }
    29     return 0;
    30 } 
    31 /**************************************************************
    32     Problem: 1002
    33     User: hg2013211626
    34     Language: C++
    35     Result: Accepted
    36     Time:10 ms
    37     Memory:1520 kb
    38 ****************************************************************/

    这道题™不难,只要理清思路就很容易做出来,但是仍有两点要注意:

    1.结果要保留一位小数,在C++中,结果保留一位小数是通过以下三句代码实现的:

     #include <iomanip>  //引入头部
    cout <<setiosflags(ios::fixed);
    cout<<setprecision(1)<<grade<<endl;
    这个须记住
    2.我这个程序在devC++中提交成功,但往在线测评系统中提交编译失败,搞了老半天又请教学长才成功,要在头文件中加上
    #include <stdlib.h>
    就可以了,至于为什么,我也不知道。。。。。。。。。。
     
  • 相关阅读:
    12
    11
    10
    9
    8
    6. iOS APP 设计规范大全
    4. iOS中常用演示方法以及利弊
    我要写一篇动态计算tableView-cell高度的随笔
    doclever 5.5.1 安装及升级【原创】
    SPARROW-JS 从0开始写 0依赖,原生JS框架
  • 原文地址:https://www.cnblogs.com/huanggen/p/5323223.html
Copyright © 2011-2022 走看看