设有一个文本文件score.txt,存放了若干用逗号分隔的学生成绩,将成绩从高到低排序,将排序后的结果写到文件result.txt中,成绩之间仍然用逗号分隔。
时间: 2023-12-03 21:47:49 浏览: 59
以下是Python代码实现:
```python
# 读取score.txt中的成绩,并将其排序
with open('score.txt', 'r') as f:
scores = f.read().split(',')
scores = [int(score) for score in scores] # 将成绩转换为整数类型
scores.sort(reverse=True) # 从大到小排序
# 将排序后的成绩写入result.txt文件中
with open('result.txt', 'w') as f:
result = ','.join([str(score) for score in scores]) # 将成绩转换为字符串类型,并用逗号连接
f.write(result)
```
假设score.txt中的成绩为:85,76,92,69,78,运行以上代码后,result.txt中将会存储以下内容:
```
92,85,78,76,69
```
相关问题
java输入学生姓名,Java成绩,按分数从高到低排序后存储在文件score.txt中。
以下是一个示例代码,实现了输入学生姓名和Java成绩,并按照成绩从高到低排序后存储在文件score.txt中。
```java
import java.io.*;
import java.util.*;
public class ScoreSorter {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List<Student> students = new ArrayList<Student>();
// 输入学生信息
while (true) {
System.out.print("请输入学生姓名:");
String name = scanner.next();
if (name.equals("exit")) {
break;
}
System.out.print("请输入Java成绩:");
int score = scanner.nextInt();
Student student = new Student(name, score);
students.add(student);
}
// 按照成绩从高到低排序
Collections.sort(students);
// 写入文件
try {
FileWriter writer = new FileWriter("score.txt");
for (Student student : students) {
writer.write(student.getName() + " " + student.getScore() + "\n");
}
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("已将学生成绩按照从高到低的顺序保存在score.txt文件中。");
}
}
class Student implements Comparable<Student> {
private String name;
private int score;
public Student(String name, int score) {
this.name = name;
this.score = score;
}
public String getName() {
return name;
}
public int getScore() {
return score;
}
@Override
public int compareTo(Student other) {
return other.score - this.score;
}
}
```
在上述代码中,通过Scanner读取用户输入的学生信息,并将其存储在List<Student>中。然后使用Collections.sort方法按照成绩从高到低排序,最后将结果写入score.txt文件中。注意,在Student类中实现了Comparable接口,以便在排序时比较学生的成绩。
输入学生姓名,Java成绩,按分数从高到低排序后存储在文件score.txt中。
好的,以下是Java语言的代码实现:
```java
import java.io.*;
import java.util.*;
public class ScoreSorter {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List<Student> students = new ArrayList<>();
// 输入学生信息
while (true) {
System.out.print("请输入学生姓名(输入0结束输入):");
String name = scanner.next();
if ("0".equals(name)) {
break;
}
System.out.print("请输入" + name + "的Java成绩:");
int score = scanner.nextInt();
students.add(new Student(name, score));
}
// 按分数从高到低排序
Collections.sort(students);
// 将排序后的结果写入文件
try (BufferedWriter writer = new BufferedWriter(new FileWriter("score.txt"))) {
for (Student student : students) {
writer.write(student.getName() + " " + student.getScore());
writer.newLine();
}
System.out.println("成绩已保存到score.txt文件中");
} catch (IOException e) {
e.printStackTrace();
}
}
static class Student implements Comparable<Student> {
private String name;
private int score;
public Student(String name, int score) {
this.name = name;
this.score = score;
}
public String getName() {
return name;
}
public int getScore() {
return score;
}
@Override
public int compareTo(Student o) {
return o.score - this.score;
}
}
}
```
在运行程序后,按照提示输入学生姓名和Java成绩,输入0结束输入。程序会将学生信息按照Java成绩从高到低排序,并将排序结果写入文件score.txt中。