zoukankan      html  css  js  c++  java
  • HDUOJ-----2399GPA

    GPA

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 2310    Accepted Submission(s): 1359


    Problem Description
    Each course grade is one of the following five letters: A, B, C, D, and F. (Note that there is no grade E.) The grade A indicates superior achievement , whereas F stands for failure. In order to calculate the GPA, the letter grades A, B, C, D, and F are assigned the following grade points, respectively: 4, 3, 2, 1, and 0.
     
    Input
    The input file will contain data for one or more test cases, one test case per line. On each line there will be one or more upper case letters, separated by blank spaces.
     
    Output
    Each line of input will result in exactly one line of output. If all upper case letters on a particular line of input came from the set {A, B, C, D, F} then the output will consist of the GPA, displayed with a precision of two decimal places. Otherwise, the message "Unknown letter grade in input" will be printed.
     
    Sample Input
    A B C D F B F F C C A D C E F
     
    Sample Output
    2.00 1.83 Unknown letter grade in input
     
    Author
    2006Rocky Mountain Warmup
     
    Source
    水体:
    代码:
     1 #include<stdio.h>
     2 #include<string.h>
     3 #include<stdlib.h>
     4 int main()
     5 {
     6     char str;
     7     int cnt=0,con=0;
     8     bool flag=true;
     9     while(scanf("%c",&str)!=EOF)
    10     {
    11        if(str==32) continue;
    12         if(str==10)
    13         {
    14             if(flag)
    15                 printf("%.2lf
    ",(double)1.0*cnt/con);
    16             else
    17                 printf("Unknown letter grade in input
    ");
    18             flag=true;
    19             con=0;
    20             cnt=0;
    21             continue;
    22         }
    23         switch(str)
    24         {
    25           case 'A':  cnt+=4; break;
    26           case 'B':  cnt+=3; break;
    27           case 'C':  cnt+=2; break;
    28           case 'D':  cnt++; break;
    29           case 'F':         break;
    30           default:  flag=false; break;
    31         }
    32         con++;
    33     }
    34  return 0;
    35 }
  • 相关阅读:
    讲一下创业公司的技术架构演进
    Nginx二级域名配置
    Java分页下载
    Solr6+IKAnalyzer分词环境搭建
    消息发送平台简单架构设计
    优先级线程池实现
    Spring缓存框架原理浅谈
    Archaius 原理
    SpringCloud+Consul 服务注册与服务发现
    EndPoint详解
  • 原文地址:https://www.cnblogs.com/gongxijun/p/3658459.html
Copyright © 2011-2022 走看看