题目描述:
输入某位同学各门课的成绩,输出平均成绩。输入的成绩均为五级制成绩,五级制成绩转换为百分之成绩的规则如下:'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'的字母,每个字母表示一门课的成绩,
输出:
输出平均成绩,为一个实数,保留一位小数。
样例输入:
AABB
样例输出:
90.0
程序代码:
不用函数写:↓↓↓
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
String str=input.nextLine();
char [] a=new char[10];
for(int i=0;i<str.length();i++)
a[i]=str.charAt(i);
double sum=0.0;
for(int i=0;i<str.length();i++)
{
if(a[i]=='A')
sum+=95;
if(a[i]=='B')
sum+=85;
if(a[i]=='C')
sum+=75;
if(a[i]=='D')
sum+=65;
if(a[i]=='E')
sum+=40;
}
System.out.printf("%.1f\n",sum*1.0/(str.length()));
input.close();
}
}
用函数写:↓↓↓
import java.util.*;
public class Main
{
public static char getScore(char ch)
{
if(ch=='A')
return 95;
else if(ch=='B')
return 85;
else if(ch=='C')
return 75;
else if(ch=='D')
return 65;
else if(ch=='E')
return 40;
else
return 0;
}
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
String str=input.nextLine();
char [] a=new char[10];
for(int i=0;i<str.length();i++)
a[i]=str.charAt(i);
double sum=0;
for(int i=0;i<str.length();i++)
sum+=Main.getScore(a[i]);
System.out.printf("%.1f\n",sum*1.0/(str.length()));
input.close();
}
}