关闭

1010:平均绩点

1111人阅读 评论(0) 收藏 举报
分类:

题目描述

每门课的成绩分为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

#include<stdio.h>
#include<string.h>

int main()
{
        char a[80];
        int i,l,n;
        double s;
        while(gets(a))
        {
                l=strlen(a);
                for(n=s=i=0;i<l;i=i+2)
                {
                        if(a[i]=='A')
                                s+=4;
                        else if(a[i]=='B')
                                s+=3;
                        else if(a[i]=='C')
                                s+=2;
                        else if(a[i]=='D')
                                s+=1;
                        else if(a[i]!='F')
                                n++;
                }
                printf(n?"Unknown\n":"%.2lf\n",s/((l+1)/2));
        }
        return 0;
}


 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:40460次
    • 积分:1070
    • 等级:
    • 排名:千里之外
    • 原创:72篇
    • 转载:0篇
    • 译文:0篇
    • 评论:3条
    文章存档
    最新评论