首页  > 考试管理  > 如何用数组接收成绩

如何用数组接收成绩

2025-05-04 02:50:13
星海幻梦
星海幻梦已认证

星海幻梦为您分享以下优质知识

以下是使用数组接收成绩的详细方法,结合了多种编程语言的实现思路:

一、基本步骤

定义数组:

根据学生人数定义一维数组(如 `double scores` 存储10个成绩)。

输入成绩:

通过循环逐个读取用户输入的成绩并存储到数组中。

处理数据:

计算总分、最高分、最低分等统计信息。

输出结果:

将统计结果打印输出。

二、示例代码

1. Java实现(10个学生成绩)

```java

import java.util.Scanner;

public class ScoreInput {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

double[] scores = new double;

double sum = 0, max = scores, min = scores;

System.out.println("请输入10个学生成绩:");

for (int i = 0; i < scores.length; i++) {

scores[i] = sc.nextDouble();

sum += scores[i];

if (scores[i] >

max) max = scores[i];

if (scores[i] < min) min = scores[i];

}

double average = sum / scores.length;

System.out.printf("最高分:%.2f(第%d名)n", max, (int)(Math.round(max/100)));

System.out.printf("最低分:%.2f(第%d名)n", min, (int)(Math.round(min/100)));

System.out.printf("平均分:%.2fn", average);

}

}

```

2. C语言实现(5个学生成绩)

```c

include

int main() {

int scores;

printf("请输入5个学生成绩:n");

for (int i = 0; i < 5; i++) {

scanf("%d", &scores[i]);

}

int sum = 0, max = scores, min = scores;

printf("最高分:%d(第%d名)n", max, 1);

printf("最低分:%d(第%d名)n", min, 1);

printf("平均分:%dn", sum / 5);

return 0;

}

```

3. C实现(动态输入学生成绩)

```csharp

using System;

class Program {

static void Main() {

Console.Write("请输入学生人数:");

int n = Convert.ToInt32(Console.ReadLine());

double[] scores = new double[n];

double sum = 0, max = scores, min = scores;

for (int i = 0; i < n; i++) {

Console.WriteLine($"请输入第{i+1}个学生的成绩:");

scores[i] = Convert.ToDouble(Console.ReadLine());

sum += scores[i];

if (scores[i] >

max) max = scores[i];

if (scores[i] < min) min = scores[i];

}

double average = sum / n;

Console.WriteLine($"最高分:{max:F2}(第1名)");

Console.WriteLine($"最低分:{min:F2}(第1名)");

Console.WriteLine($"平均分:{average:F2}");

}

}

```

三、注意事项

输入验证:

建议添加输入验证,防止非数字输入导致程序崩溃。

动态数组:

Java和C支持动态数组,无需提前定义固定大小;C语言需使用固定大小数组或动态内存分配。

排序功能:

若需按分数排序,可结合冒泡排序或选择排序算法实现。

通过以上方法,可灵活实现学生成绩的输入与统计,适用于不同编程语言和数据规模需求。