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

#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath> using namespace std; char s[];
int an[]; int main()
{
an['A'] = ;an['B'] = ;an['C'] = ;an['D'] = ;an['F'] = ;
int i,j,k,l;
while(gets(s))
{
l = strlen(s);
bool bl = ;
double sum = ;
int n = ;
for(i = ;i<l;i++)
{
if(s[i] == ' ') continue;
if(s[i]>='A'&&s[i]<='D'||s[i] == 'F')
{
n++;
sum+=an[s[i]];
}
else
{
bl = ;
break;
}
}
if(bl)
{
cout<<"Unknown letter grade in input"<<endl;
}
else
{
printf("%.2lf\n",sum/n);
}
}
return ;
}

hdu2399GPA的更多相关文章

随机推荐

  1. asp.net缓存(三)

    Asp.net应用程序数据缓存 System.Web.Caching 命名空间提供用于缓存服务器上常用数据的类.此命名空间包括 Cache 类,该类是一个字典,您可以在其中存储任意数据对象,如哈希表和 ...

  2. MyBatis调用Oracle的存储过程

    Mapper.xml文件: --------------------------------- <parameterMap type="map" id="class ...

  3. ios 调用相机后 view 下沉问题

    我只加了一句代码 现在不报错了  因为这个问题是随机性的  我也不太明白这个地方是怎么回事   我只是这样子做了  问题不出来了 if ([[[UIDevice currentDevice] syst ...

  4. Emacs颜色设置

    1.下载color-theme主题包 下载链接:http://download.savannah.gnu.org/releases/color-theme/ color-theme-6.6.0.zip ...

  5. (转) Dynamic memory

      In the programs seen in previous chapters, all memory needs were determined before program executi ...

  6. GitHub项目协作基本步骤

    1.查找某个项目,然后Fork 2.打开GitHub For Windows,发现刚才Fork的项目 3.对着项目点击Clone,将之复制至本地 4.使用Eclipse等进行开发,如新增一个文件 5. ...

  7. 我的第一个comet长连接例子

    <!doctype html> <html> <head> <meta charset="utf-8"> <meta http ...

  8. 【Python网络编程】多线程聊天软件程序

    课程设计的时候制作的多线程聊天软件程序 基于python3.4.3 import socket import pickle import threading import tkinter import ...

  9. 通过Alexa API获取Alexa排名

    我们通会用Alexa的网站(或其它站长工具网站)来栓查我们的网​站流量排名,这样就必须去那些网站.实际上,可以通过Alexa XML API 获取网站的Alexa相关的数据(XML格式的),再使用XM ...

  10. Nginx限制模块研究

    已有方案:无非两种 1. 限制连接个数: 是指一台机多线程或多进程开启请求. 解决方案-ngx_http_limit_conn_module 缺点: 定义$variable为单机时,只能限制已有ngi ...