zzulioj1097: 计算平均成绩(函数专题)

1097: 计算平均成绩(函数专题)

时间限制: 1 Sec 内存限制: 128 MB

提交: 32032 解决: 16665

[状态] [讨论版] [提交] [命题人:admin]

题目描述

输入某位同学各门课的成绩,输出平均成绩。输入的成绩均为五级制成绩,五级制成绩转换为百分之成绩的规则如下:'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;
}

猜你喜欢

转载自blog.csdn.net/qq_61897309/article/details/128770407
今日推荐