编写一个程序,提示用户输入学生个数,学生学号和他们的课程成绩,然后按照学生成绩的降序打印学生的学号.

供稿:hz-xin.com     日期:2025-01-13
编写一个程序,提示用户输入学生个数,学生姓名和他们的成绩,然后按照学生成绩的降序打印学生成绩的排行榜.

import java.util.Arrays;
import java.util.Scanner;

public class Test {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
System.out.println("请输入学生个数");
String strStuNum = reader.nextLine();
int stuNum = Integer.parseInt(strStuNum);
String[] sNames = new String[stuNum];
int[] sScore = new int[stuNum];
for(int i = 0;i < stuNum; i++){
System.out.println("请输入第"+(i+1)+"个学生的姓名");
sNames[i] = reader.nextLine();
System.out.println("请输入"+sNames[i]+"的分数");
sScore[i] = Integer.parseInt(reader.nextLine());
}
int tempScore;
String tempName;
for (int i = stuNum - 1; i > 0; --i) {
boolean isSort=false;
for (int j = 0; j < i; ++j) {
if (sScore[j + 1] < sScore[j]) {
tempScore = sScore[j];
tempName = sNames[j];
sScore[j] = sScore[j + 1];
sNames[j] = sNames[j + 1];
sScore[j + 1] = tempScore;
sNames[j + 1] = tempName;
isSort=true;
}
}
if(!isSort)break;
}
for(int i = stuNum - 1; i >= 0;i--){
System.out.println("第"+(stuNum - i)+"名"+sNames[i]+""+sScore[i]);
}
}
}

import java.util.Scanner;


public class StudentInAndOut {
private String name;
private long grade;

public long getGrade() {
return grade;
}
public void setGrade(long grade) {
this.grade = grade;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}

public String toString(){
return this.name;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生数");
int stuNumT = sc.nextInt();
StudentInAndOut objArr[] = new StudentInAndOut[stuNumT];
for(int i = 0; i < objArr.length; i++){
objArr[i] = new StudentInAndOut();
System.out.println("请输入第" + (i+1) + "个学生的姓名");
String name = sc.next();
objArr[i].setName(name);
System.out.println("请输入第" + (i+1) + "个学生的成绩");
long grade = sc.nextLong();
objArr[i].setGrade(grade);
}
System.out.println("打印开始:");
for(int i = 0; i < objArr.length; i++){
for(int j = i+1; j < objArr.length; j++){
if(objArr[i].getGrade() < objArr[j].getGrade()){
StudentInAndOut s = new StudentInAndOut();
s = objArr[i];
objArr[i] = objArr[j];
objArr[j] = s;
}
}
}
for(int i=0; i < objArr.length; i++){
System.out.println(objArr[i].getName()+"的成绩是:"+objArr[i].getGrade());
}
}
}

import java.util.Scanner;

class StudentInfo {
private String stuno;
private int score;

public String getStuno() {
return stuno;
}

public void setStuno(String stuno) {
this.stuno = stuno;
}

public int getScore() {
return score;
}

public void setScore(int score) {
this.score = score;
}

}

public class Test205 {

public static void main(String[] args) {

StudentInfo[] stu = new StudentInfo[20];
Scanner scan = new Scanner(System.in);
int nCount = 0;
System.out.println("请输入输入的学生个数:");
nCount = scan.nextInt();
System.out.println("请输入输入的学生学号和分数(以空格隔开):");

int nCurrent = 0;
while (nCurrent < nCount) {
Scanner sca = new Scanner(System.in);
String strLine = sca.nextLine();

String[] strLineArr = strLine.split(" ");
StudentInfo st = new StudentInfo();
st.setStuno(strLineArr[0]);
st.setScore(Integer.parseInt(strLineArr[1]));
stu[nCurrent] = st;
nCurrent++;
}

// 排序
for (int i = 0; i < nCount; i++) {
for (int j = 0; j < nCount - i - 1; j++) {
if (stu[j].getScore() > stu[j + 1].getScore()) {
StudentInfo tmp = new StudentInfo();
tmp.setStuno(stu[j].getStuno());
tmp.setScore(stu[j].getScore());

stu[j].setStuno(stu[j + 1].getStuno());
stu[j].setScore(stu[j + 1].getScore());

stu[j + 1].setStuno(tmp.getStuno());
stu[j + 1].setScore(tmp.getScore());
}
}
}
// 输出学生信息
System.out.println("学号    分数");

for (int i = 0; i < nCount; i++) {
System.out.println(stu[i].getStuno() + "   " + stu[i].getScore());
}

}

}

运行结果如下:



建一个学生类啊,有学号和成绩两个属性

用C语言编写程序 提示用户输入一个数字并显示该数 使用字符模拟七段显...
include <stdio.h>#include <string.h>#define MAX_DIGHTS 10const int segments[10][7] = { {1, 1, 1, 1, 1, 1, 0}, \/* 0 *\/ {0, 1, 1, 0, 0, 0, 0}, \/* 1 *\/ {1, 1, 0, 1, 1, 0, 1}, \/* 2 *\/ {1, 1, 1, 1, 0, 0, 1}, \/* ...

有关C语言程序(学生成绩管理程序)
saveflag=1; } else Nofind(); getchar();}else Wrong(); getchar();}\/*修改学生记录。先按输入的学号查询到该记录,然后提示用户修改学号之外的值...int count=0; \/*保存文件中的记录条数(或结点个数)*\/ Node *p,*r; \/*定义记录指针变量*\/l=(Node*)malloc(sizeof(Node)); if(!l) { printf...

编写shell程序 要求提示用户输入一个数n,然后显示出1~n间的所有偶平方...
运行过的代码:!\/bin\/bash read -p "Input your number:" n echo "$n"for((i=1;i<="$n";i++));do if [ $(($i%2)) == 0 ];then echo $(($i*$i))fi;done;

...输入结束,要求统计并输出各等级成绩的学生个数
System.out.println("请输入成绩:");BufferedReader strin=new BufferedReader(new InputStreamReader(System.in));float value=Float.valueOf(strin.readLine()==""?"0":strin.readLine());if(value>=0){ list.add(value);student(list);}else{ return;} }catch (Exception e) { } } 很...

编写程序,要求用户输入N个数字a1,a2…aN;求整数a1a2…aN(长度为N...
程序的目标是让用户输入一系列整数,然后将这些整数拼接成一个大整数并输出。具体步骤如下:首先,程序会提示用户输入整数的个数n。然后,用户需要依次输入这些整数。程序会将这些整数存储在一个数组中。接下来,程序会将这些整数依次拼接到一起,形成一个大整数。在拼接的过程中,程序会先将当前的大整数...

java作业编程题,求java大神帮忙解答,要求一定要用while,for,do whil...
for(int i=1;i<=10;i++){ n+= n*(0.05);System.out.println("第"+i+"年的学费是:"+n);if(i<=4){ sum+= n;} } System.out.println("第4年内的总学费是"+sum);} \/\/4)编写程序,提示用户输入学生的个数、每个学生的名字及其分数,最后显示最高分学生的名字。public static...

某班有最多不超过30人(具体人数由键盘输入)参加期末考试,最多不超过6...
while (1){ ch = Menu(); \/* 显示菜单,并读取用户输入 *\/ switch (ch){ case 1:ReadScore(num, name, score, n);break;case 2:AverSumofScore(score, n);break;case 3:SortbyScore(num, name, score, n, Descending);printf("Sort in descending order by score:\\n");PrintScor...

【C语言】计算10个学生的平均成绩?
printf("10名学生的平均成绩为:%.2f", average);return 0;} ```在上面的示例代码中,我们首先定义了一个长度为10的成绩数组和一个用于累加总成绩的变量 `sum`,然后使用 `for` 循环读取每个学生的成绩并将其累加到 `sum` 中。最后,我们计算平均成绩(总成绩除以学生数)并打印出来。需要注意的...

求一个C语言程序,录入学生的名字和学号.
编写一个简单的C语言程序,用于录入学生的名字和学号,可以按照以下步骤实现。程序首先提示用户输入学生的姓名和学号,然后显示输入的信息。下面是示例代码:include int main(void) { char s[10]; \/\/ 姓名 int num; \/\/ 学号 printf("请输入姓名:\\n");scanf("%s", s);printf("请输学号:\\n"...

用C语言编写一个通过键盘或文件输入学生信息,并将学生信息输出到文件...
float average;int order;} 接着,编写一个函数`inputFromKeyboard`,用于从键盘输入学生信息。该函数会依次提示用户输入学生的姓名和四门功课的成绩:void inputFromKeyboard(struct student stu[],int num) { for(i=0;i < num; i++) { printf("请输入第%d个同学的姓名:\\n",i+1);scanf("...