1097: 计算平均成绩(函数专题)
时间限制: 1 Sec 内存限制: 128 MB
提交: 32032 解决: 16665
题目描述
输入某位同学各门课的成绩,输出平均成绩。输入的成绩均为五级制成绩,五级制成绩转换为百分之成绩的规则如下:'A'转换为百分之成绩为95分,'B'对应85分,C对应75分,'D'对应65分,'E'对应40分。 输出的平均成绩为一个实数,保留1位小数。
要求程序定义一个getScore()函数和一个main()函数,getScore()函数返回一个等级对应的分数,其余功能在main()函数中实现。
int getScore(char g)
{
//把等级g转换成对应的分数并返回这个分数。
}
对于C/C++代码的提交,本题要求必须通过定义getScore函数和main函数实现,否则,提交编译错误,要提交完整的程序。
输入
输入为一行只包含'A'~'E'的字母,每个字母表示一门课的成绩,
输出
输出平均成绩,为一个实数,保留一位小数。
样例输入 Copy
AABB
样例输出 Copy
90.0
#include <iostream>
#include<string>
#include<cstring>
#include<iomanip>
using namespace std;
int getScore(char g)
{
//把等级g转换成对应的分数并返回这个分数。
int score;
switch(g){
case 'A':score=95;break;
case 'B':score=85;break;
case 'C':score=75;break;
case 'D':score=65;break;
case 'E':score=40;break;
}
return score;
}
int main()
{
double arr[1000];
string strscore;
double S;
cin>>strscore;
int len;
len=strscore.length();
for(int i=0;i<len;i++ ){
arr[i]=getScore(strscore[i]);
S=S+arr[i];
}
S=S/len;
cout <<fixed<<setprecision(1)<< S;
//cout << "Hello World";
return 0;
}