有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩), 计算出平均成绩,将原有的数据和计算出的平均分数在控制台输出出来

本文介绍了一个使用Java实现的学生信息管理系统,通过控制台输入输出,能够录入五个学生的基本信息及三门课程的成绩,计算并显示每个学生的平均成绩。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package TestJi_01;

import java.util.Scanner;
public class Test_50 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int count = 0;

        int[][] gardeArr = new int[5][4];
        String[][] student = new String[5][2];
        while (count < 5) {
            int sum = 0;
            double average = 0;
            System.out.println("请输入第" + (count + 1) + "位学生的学号");
            int studyNum = sc.nextInt();
            System.out.println("请接着输入姓名");
            String name = sc.next();
            student[count][0] = Integer.toString(studyNum);
            student[count][1] = name;
            System.out.println("输入三门课的成绩,以空格隔开");
            for (int i = 0; i < 3; i++) {
                int garde = sc.nextInt();
                gardeArr[count][i] = garde; //二维数组存放五个学生的三门成绩
                sum += gardeArr[count][i];
            }
            average = sum / 3;
            gardeArr[count][gardeArr[count].length - 1] = (int) average;
            System.out.println("第" + (count + 1) + "位同学三门学科的平均成绩为:" + average);
            count++;
        }

//输出----

        for (int j = 0; j < student.length; j++) {
            System.out.println(student[j][0] + " " + student[j][1]);
            for (int x : gardeArr[j]) {
                System.out.print(x + " ");
            }
            System.out.println();
        }

    }
}

好的,以下是关于如何用C语言解决这个问题的一个详细介绍以及程序设计思路: ### 题目分析 我们需要完以下几个任务: 1. 输入5个学生的信息(包括姓名3成绩)。 2. 学姓名以字符串形式存储。 3. 根据输入的数据计算每个学生平均成绩。 为了实现这个功能,我们可以利用结构体来组织学生信息,并通过循环读取用户输入并进行计算。 --- ### 程序设计步骤 #### 1. 定义结构体 我们首先需要定义一个`struct Student`类型的结构体,用于保存每个学生的基本信息及成绩。 ```c typedef struct { char id[20]; // 学 char name[50]; // 姓名 float scores[3]; // 三门成绩 float average; // 平均分 } Student; ``` #### 2. 数据输入部分 可以使用嵌套的`for`循环分别接收每位学生的学姓名三科成绩。例如: - 外层循环控制学生数量; - 内部则逐一获取成绩等细节。 #### 3. 计算平均值 遍历每一个学生记录下来的所有科目分数求其总再除以科目数即可得到该生的平均分。 #### 4. 输出结果 将所有收集到的结果打印来展示给用户看。 完整示例代码如下所示: ```c #include <stdio.h> #define NUM_STUDENTS 5 // 结构体定义 typedef struct { char id[20]; char name[50]; float scores[3]; float average; } Student; int main() { Student students[NUM_STUDENTS]; printf("请输入 %d 名学生数据 ( 姓名 成绩1 成绩2 成绩3):\n", NUM_STUDENTS); for(int i = 0; i < NUM_STUDENTS; ++i) { printf("\n第%d位学生:\n", i+1); // 获取学 姓名 scanf("%s%s", students[i].id, students[i].name); float sum = 0; for(int j=0; j<3; ++j){ scanf("%f",&students[i].scores[j]); sum += students[i].scores[j]; } // 计算平均分 students[i].average = sum / 3; } // 显示所有的学生及其平均分情况 printf("\n\n学生们的成绩列表:\n"); printf("学\t姓名\t成绩1\t成绩2\t成绩3\t平均分\n"); for(int k=0;k<NUM_STUDENTS;++k) printf("%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n", students[k].id, students[k].name, students[k].scores[0], students[k].scores[1], students[k].scores[2], students[k].average); return 0 ; } ``` --- ### 示例运行流程 **输入** ``` 请输入 5 名学生数据( 姓名 成绩1 成绩2 成绩3): S1 ZhangSan 89 76 92 ... S5 LiSi 88 90 85 ``` **输出** ``` 学生们的成绩列表: 学 姓名 成绩1 成绩2 成绩3 平均分 S1 ZhangSan 89.00 76.00 92.00 85.67 ... S5 LiSi 88.00 90.00 85.00 87.67 ``` --- ### 总结 上面展示了完整的解决方案过程——从需求拆解至最终编码实现,希望对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值