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

题目描述:

输入某位同学各门课的成绩,输出平均成绩。输入的成绩均为五级制成绩,五级制成绩转换为百分之成绩的规则如下:'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();
	}
}
发布了260 篇原创文章 · 获赞 267 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43823808/article/details/103737701
今日推荐