从键盘读入学生成绩,找出最高分, 并输出学生成绩等级(Java)
从键盘读入学生成绩,找出最高分, 并输出学生成绩等级
一、题目
从键盘读入学生成绩,找出最高分,并输出学生成绩等级。
成绩>=最高分-10 等级为’A’
成绩>=最高分-20 等级为’B’
成绩>=最高分-30 等级为’C’
其余等级为’D’
二、代码
import java.util.Scanner;
public class arrayDemo {
public static void main(String[] args) {
System.out.println("请输入学生个数:");
Scanner StuNum=new Scanner(System.in);//得到一个学生的人数number
int b=StuNum.nextInt();//转换成为int类型的number
int[] score=new int[b];//将这个number作为数组的长度
for (int i=0;i<score.length;i++){
System.out.println("请输入第"+(i+1)+"个学生成绩:");
Scanner StuSco=new Scanner(System.in);
int c=StuSco.nextInt();
score[i]=c;
}//for循环将分数一个一个的赋给数组
System.out.println("这是学生的成绩:");
for (int x:score){
System.out.print(x+" ");
}//遍历一遍看有没有问题
int temp=0;
for (int i=1;i<score.length;i++){
for (int j=0;j<score.length-1;j++){
if (score[j]>score[j+1]){
temp=score[j];
score[j]=score[j+1];
score[j+1]=temp;
}
}
}//这里是将数组排序,数组中最后一个元素就是最大的number
System.out.println("\n这是排好序的学生成绩");
for (int bs:score){
System.out.print(bs+" ");
}//将排序好的数组打印一遍,看有没有问题
int m=score[b-1];//m是最高分
System.out.println("\n成绩最高的分数是:"+m);
char p;
for (int s=0;s<score.length;s++){
int r=m-score[s];//r是最高分和他的差值
if (r<=10){
p='A';
}else if (r<=20){
p='B';
}else if (r<=30){
p='C';
}else {
p='D';
}
System.out.println("学生"+(s+1)+"的成绩是"+score[s]+",他的评级是“"+p);
}
}
}
三、运行结果

四、总结
这道题主要点在于如何找到MaxNumbr和如何给分数做评级,MaxNumber其实可以用代码中双重for(冒泡排序)中的内层for直接找到,题目并没有说明必须按照原有顺序输出,所以对原数组进行排序,排序号后最后一个元素就是MaxNumber。对分数进行评级则采用if-else的多重判断。
从键盘读入学生成绩,找出最高分, 并输出学生成绩等级(Java)的更多相关文章
- java从键盘输入学生成绩,找出最高分,并输出学生成绩等级。
/*从键盘输入学生成绩,找出最高分,并输出学生成绩等级:成绩 >=最高分-10 等级为A成绩 >=最高分-20 等级为B成绩 >=最高分-30 等级为C其余为 等级为D 提示:先输入 ...
- 从键盘输入成绩,找出最高分,并输出学生成绩等级。成绩>=最高分-10,为A,成绩>=最高分-20,为B,成绩>=最高分-30,为C,其余等级为D
import java.util.Scanner;public class TestStudent { public static void main(String[] args) { //从键盘获得 ...
- 剑指offer:1.找出数组中重复的数(java版)
数组中重复的数:题目:找出数组中重复的数,题目描述:在一个长度为n的数组里的所有数字都在0到n-1的范围内.数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任 ...
- SQL查询有两门以上不及格的学生及查询出全部及格的学生
1.表结构: /*学生*/ create table student( sno int not null primary key, sname ) ); /*课程*/ create table cen ...
- JAVA冒泡排序/JAVA冒泡排序再找出给定数据中的最大值最小值/JAVA数组排序
//数组中排序 int in[] = {1,6,5,8,9}; Arrays.sort(in); for(int i=0;i<in.length;i++){ Sys ...
- HDU——3786找出直系亲属(DFS+回溯)
找出直系亲属 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- hdu3786 找出直系亲属 水题
题意:找出直系亲属Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- C语言:根据形参c中指定的英文字母,按顺序打印出若干后继相邻字母,-主函数中放入一个带头节点的链表结构中,h指向链表的头节点。fun函数找出学生的最高分-使用插入排序法对字符串中的字符进行升序排序。-从文件中找到指定学号的学生数据,读入次学生数据,
//根据形参c中指定的英文字母,按顺序打印出若干后继相邻字母,输出字母的大小与形参c一致,数量由形参d指定.例如:输入c为Y,d为4,则输出ZABC. #include <stdio.h> ...
- [Oracle/SQL]找出id为0的科目考试成绩及格的学生名单的四种等效SQL语句
本文是受网文 <一次非常有意思的SQL优化经历:从30248.271s到0.001s>启发而产生的. 网文没讲创建表的数据过程,我帮他给出. 创建科目表及数据: CREATE TABLE ...
随机推荐
- keras自定义网络层
在深度学习领域,Keras是一个高度封装的库并被广泛应用,可以通过调用其内置网络模块(各种网络层)实现针对性的模型结构:当所需要的网络层功能不被包含时,则需要通过自定义网络层或模型实现. 如何在ker ...
- JVM系列之一 JVM的基础概念与内存区域
前言 作为一名 Java 语言的使用者,学习 JVM 有助于解决程序运行过程中出现的问题.写出性能更高的代码. 可以说:学好 JVM 是成为中高级 Java 工程师的必经之路. 有感于从未整理归纳 J ...
- Set-Cookie & Secure & HttpOnly & SameSite
Set-Cookie & Secure & HttpOnly & SameSite HTTP/Headers/Set-Cookie Set-Cookie https://dev ...
- cookie & session & token compare
cookie & session & token compare cookie.session.token 区别和优缺点 存储位置 cookie 存在 client 端 session ...
- DataBase All in One
DataBase All in One DB SQL: relational database management system NoSQL(Not only SQL / Non SQL): key ...
- 视屏剪辑软件 & free video editor
视屏剪辑软件 & free video editor purpose add animation keyframe to tutorials video vlog demos tutorial ...
- ES6 & Classes & Interface
ES6 & Classes & Interface what's the difference between javascript Classes & Interface ? ...
- TypeScript Generics
TypeScript Generics https://www.typescriptlang.org/docs/handbook/generics.html 泛型 1 Generic Interfac ...
- js 最简单的发布订阅模式
let _subscriber: any; function autorun(subscriber: Function) { _subscriber = subscriber; _subscriber ...
- 使用EF的Code First模式创建模型
Entity Framework Core Entity Framework (EF) Core 是轻量化.可扩展.开源和跨平台版的常用 Entity Framework 数据访问技术. EF Cor ...