1010:平均绩点 分数: 1
2015-07-10 09:44
531 查看
题目描述
每门课的成绩分为A、B、C、D、F五个等级,为了计算平均绩点,规定A、B、C、D、F分别代表4分、3分、2分、1分、0分。
输入格式
有多组测试样例。每组输入数据占一行,由一个或多个大写字母组成,字母之间由空格分隔。
输出
每组输出结果占一行。如果输入的大写字母都在集合{A,B,C,D,F}中,则输出对应的平均绩点,结果保留两位小数。否则,输出“Unknown”。
样例输入
A B C D F
B F F C C A
D C E F
样例输出
2.00
1.83
Unknown
program p1010;
var ch:char; st:string;
s:real;
i,j,k:longint;
y:boolean;
begin
while not eof do
begin
readln(st); s:=0; y:=true;
while pos(' ',st)<>0 do
delete(st,pos(' ',st),1);
for i:=1 to length(st) do
case st[i] of
'A':s:=s+4;
'B':s:=s+3;
'C':s:=s+2;
'D':s:=s+1;
'F':s:=s+0
else
y:=false;
end;
if y then writeln((s/length(st)):0:2) else writeln('Unknown');
end;
end.
每门课的成绩分为A、B、C、D、F五个等级,为了计算平均绩点,规定A、B、C、D、F分别代表4分、3分、2分、1分、0分。
输入格式
有多组测试样例。每组输入数据占一行,由一个或多个大写字母组成,字母之间由空格分隔。
输出
每组输出结果占一行。如果输入的大写字母都在集合{A,B,C,D,F}中,则输出对应的平均绩点,结果保留两位小数。否则,输出“Unknown”。
样例输入
A B C D F
B F F C C A
D C E F
样例输出
2.00
1.83
Unknown
program p1010;
var ch:char; st:string;
s:real;
i,j,k:longint;
y:boolean;
begin
while not eof do
begin
readln(st); s:=0; y:=true;
while pos(' ',st)<>0 do
delete(st,pos(' ',st),1);
for i:=1 to length(st) do
case st[i] of
'A':s:=s+4;
'B':s:=s+3;
'C':s:=s+2;
'D':s:=s+1;
'F':s:=s+0
else
y:=false;
end;
if y then writeln((s/length(st)):0:2) else writeln('Unknown');
end;
end.
相关文章推荐
- 24465:字符的输入输出练习 分数:
- 24463:输入输出练习 分数: 100
- 将自然数1--9这九个数分成三组,将每组的三个数字拼成三位数,每个数字不能重复,且每个三位数都是完全平方数。请找出这样的三个三位数。
- 如何备份系统,保障电脑安全
- Eclipse中启动cocos2dx 工程显示 C/C++ Build - environment section java.lang.NullPointerException
- 图文解释XCode常用快捷键的使用
- 页面加载完成 使用总结
- 添加pch文件
- [SQL Server]如何快速查找使用了某个字段的所有存储过程
- [转载] 【冬瓜哥手绘雄文】集群文件系统架构演变终极深度梳理图解
- “黑马程序员” java位逻辑运算符
- DOS常用命令
- 用集合筛选法求200以内的素数;
- 求连续十个最小的合数
- 移梵塔
- 内存释放
- Linux:no link present,check cable
- 几种SQL语句的写法
- NSUserDefaults用法(轻量级本地数据存储)
- 限制页面请求在一定时间内的访问次数