MST

星途 面试题库

面试题:C语言数组定义的中等难度问题

请定义一个二维数组,用于存储5个学生的3门课程成绩(假设成绩为整数类型),并解释数组定义中各维度的含义。同时,编写一段代码,计算并输出每个学生的平均成绩。
42.6万 热度难度
编程语言C

知识考点

AI 面试

面试题答案

一键面试

在Java中:

public class StudentGrade {
    public static void main(String[] args) {
        // 定义二维数组存储5个学生的3门课程成绩
        int[][] scores = new int[5][3];
        // 这里第一维表示学生数量,有5个学生;第二维表示每一个学生的课程数量,每个学生有3门课程

        // 假设给成绩赋值(实际应用中可能从输入获取)
        scores[0][0] = 85;
        scores[0][1] = 90;
        scores[0][2] = 92;
        scores[1][0] = 78;
        scores[1][1] = 88;
        scores[1][2] = 85;
        scores[2][0] = 90;
        scores[2][1] = 95;
        scores[2][2] = 88;
        scores[3][0] = 75;
        scores[3][1] = 80;
        scores[3][2] = 82;
        scores[4][0] = 88;
        scores[4][1] = 92;
        scores[4][2] = 90;

        // 计算并输出每个学生的平均成绩
        for (int i = 0; i < scores.length; i++) {
            int sum = 0;
            for (int j = 0; j < scores[i].length; j++) {
                sum += scores[i][j];
            }
            double average = sum / (double)scores[i].length;
            System.out.println("第 " + (i + 1) + " 个学生的平均成绩是: " + average);
        }
    }
}

在Python中:

# 定义二维列表存储5个学生的3门课程成绩
scores = [[0] * 3 for _ in range(5)]
# 这里第一维表示学生数量,有5个学生;第二维表示每一个学生的课程数量,每个学生有3门课程

# 假设给成绩赋值(实际应用中可能从输入获取)
scores[0] = [85, 90, 92]
scores[1] = [78, 88, 85]
scores[2] = [90, 95, 88]
scores[3] = [75, 80, 82]
scores[4] = [88, 92, 90]

# 计算并输出每个学生的平均成绩
for i, student_scores in enumerate(scores):
    average = sum(student_scores) / len(student_scores)
    print(f"第 {i + 1} 个学生的平均成绩是: {average}")

在C++中:

#include <iostream>
#include <vector>
using namespace std;

int main() {
    // 定义二维向量存储5个学生的3门课程成绩
    vector<vector<int>> scores(5, vector<int>(3));
    // 这里第一维表示学生数量,有5个学生;第二维表示每一个学生的课程数量,每个学生有3门课程

    // 假设给成绩赋值(实际应用中可能从输入获取)
    scores[0] = {85, 90, 92};
    scores[1] = {78, 88, 85};
    scores[2] = {90, 95, 88};
    scores[3] = {75, 80, 82};
    scores[4] = {88, 92, 90};

    // 计算并输出每个学生的平均成绩
    for (size_t i = 0; i < scores.size(); ++i) {
        int sum = 0;
        for (size_t j = 0; j < scores[i].size(); ++j) {
            sum += scores[i][j];
        }
        double average = sum / (double)scores[i].size();
        cout << "第 " << i + 1 << " 个学生的平均成绩是: " << average << endl;
    }

    return 0;
}