1097 : 计算平均成绩(函数专题)
题目描述
输入某位同学各门课的成绩,输出平均成绩。输入的成绩均为五级制成绩,五级制成绩转换为百分之成绩的规则如下:'A'转换为百分之成绩为95分,'B'对应85分,C对应75分,'D'对应65分,'E'对应40分。 输出的平均成绩为一个实数,保留1为小数。
输入
输入为一行只包含'A'~'E'的字母,每个字母表示一门课的成绩,长度小于10
输出
输出平均成绩,为一个实数,保留一位小数。
样例输入
ABCDE
样例输出
72.0
注意:条件语句的准确使用与否会影响结果。
int f(char n)
{
int a;
if (n == 'A')
a = 95;
else if (n == 'B')
a = 85;
else if (n == 'C')
a = 75;
else if (n == 'D')
a = 65;
else if (n == 'E')
a = 40;
else
a = 0;
return a;
}
int main()
{
char m;
int i=0;
double sum = 0, b;
while ((m = getchar())!=‘\n’) //其中这句中的‘\n’不能换成 EOF,因为一旦换,结果出错。
{ //原因是:换成EOF时,字符'\n'也会被当成输入成绩去带入函数。
i++;
b = f(m);
sum = sum + b;
}
printf("%.1f", (sum * 1.0) / i);
return 0;
}