题目描述
输入某位同学各门课的成绩,输出平均成绩。输入的成绩均为五级制成绩,五级制成绩转换为百分之成绩的规则如下:'A'转换为百分之成绩为95分,'B'对应85分,C对应75分,'D'对应65分,'E'对应40分。 输出的平均成绩为一个实数,保留1为小数。
输入
输入为一行只包含'A'~'E'的字母,每个字母表示一门课的成绩,
输出
输出平均成绩,为一个实数,保留一位小数。
样例输入 Copy
ABCDE
样例输出 Copy
72.0
下面是代码实现部分:
#include<stdio.h>
#include<string.h>
int main ()
{
char a1;
double s=0;
double i=0;
while (scanf ("%c",&a1)!=EOF)//判断输入是否结束
{
if(a1=='A')
{
s=s+95;
}
else if(a1=='B')
{
s=s+85;
}
else if(a1=='C')
{
s=s+75;
}
else if(a1=='D')
{
s=s+65;
}
else if(a1=='E')
{
s=s+40;
}
i=i+1;
}
printf ("%.1f",s/(i-1));//i需要再减1,因为输入完全部成绩回车后,scanf会读取回车,导致最终结果比实际大1
return 0;
}