当前位置: 首页 > article >正文

【C语言】控制台学生成绩管理系统

文章目录

  • C语言编程:学生成绩管理系统
    • 一、程序概述
    • 二、代码实现
    • 三、程序解释


C语言编程:学生成绩管理系统

在这篇文章中,我们将一起探讨如何使用C语言来创建一个简单的学生成绩管理系统。这个系统将允许用户输入学生数量、学号和成绩,然后对学生的成绩进行排序,并输出平均分、平均分以下的学生学号以及60分以上的学生的学号和成绩。

一、程序概述

这个程序分为几个主要部分:

  1. 输入学生数量和对应的学号与成绩。
  2. 使用冒泡排序算法对学生成绩进行排序。
  3. 计算并输出平均分。
  4. 输出排序后的学生学号和成绩。
  5. 输出平均分以下的学生学号。
  6. 输出60分以上的学生的学号和成绩。

二、代码实现

以下是实现这个系统的C语言代码:

#include <stdio.h>

int main() {
    int n;
    printf("请输入学生数量 n:\n");
    scanf("%d", &n);

    int scores[n];
    int numbers[n];
    for (int i = 0; i < n; i++) {
        printf("输入学号和成绩:\n");
        scanf("%d", &numbers[i]);
        scanf("%d", &scores[i]);
    }

    // 使用冒泡排序算法对学生成绩进行排序
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n - 1; j++) {
            if (scores[j] > scores[j + 1]) {
                // 成绩交换
                int temp_score = scores[j];
                scores[j] = scores[j + 1];
                scores[j + 1] = temp_score;
                // 学号交换
                int temp_number = numbers[j];
                numbers[j] = numbers[j + 1];
                numbers[j + 1] = temp_number;
            }
        }
    }

    // 计算平均分
    int sum = 0;
    for (int i = 0; i < n; i++) {
        sum += scores[i];
    }
    float average = sum * 1.0 / n;
    printf("平均分是:%.2f\n", average);

    // 输出排序后的学生学号和成绩
    printf("按成绩排序后的学生学号和成绩:\n");
    for (int i = 0; i < n; i++) {
        printf("学号:%d 成绩:%d\n", numbers[i], scores[i]);
    }

    // 输出平均分以下学生的学号
    printf("平均分以下的学生学号:\n");
    for (int i = 0; i < n; i++) {
        if (scores[i] < average) {
            printf("%d ", numbers[i]);
        }
    }
    printf("\n");

    // 输出60分以上的学生的学号和成绩
    printf("60分以上的学生的学号和成绩:\n");
    for (int i = 0; i < n; i++) {
        if (scores[i] > 60) {
            printf("学号:%d 成绩:%d\n", numbers[i], scores[i]);
        }
    }
    return 0;
}

三、程序解释

  1. 输入学生信息:首先,程序提示用户输入学生的数量,然后循环接收每个学生的学号和成绩。

  2. 排序算法:使用冒泡排序算法对成绩进行排序。冒泡排序的基本思想是重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。

  3. 计算平均分:通过累加所有学生的成绩并除以学生数量来计算平均分。

  4. 输出结果:程序输出排序后的学生学号和成绩,平均分以下的学生学号,以及60分以上的学生的学号和成绩。
    在这里插入图片描述


http://www.kler.cn/news/365836.html

相关文章:

  • LeetCode:2747. 统计没有收到请求的服务器数目(滑动窗口 Java)
  • 10分钟使用Strapi(无头CMS)生成基于Node.js的API接口,告别繁琐开发,保姆级教程,持续更新中。
  • Go 语言中的 GOMAXPROCS
  • 富格林:察觉欺诈有效追损措施
  • C++20中头文件syncstream的使用
  • Vivado自定义IP修改顶层后Port and Interface不更新解决方案
  • 关系型数据库(1)----MySQL(初阶)
  • 大数据-189 Elasticsearch - ELK 日志分析实战 - 环境配置启动 Nginx、ZK、Kafka、ES、Kibana
  • OpenCV视觉分析之运动分析(4)背景减除类:BackgroundSubtractorKNN的一系列set函数的使用
  • 前端-基础CSS 知识总结
  • 六,Linux基础环境搭建(CentOS7)- 安装HBase
  • Python与MySQL
  • 3.添加缓存和缓存更新策略
  • 前端拦截302重定向
  • flowable 去掉自带的登录权限
  • Scala的多态
  • 工作使用篇:如何在centos系统中安装anaconda
  • 【AI换装整合及教程】CatVTON:时尚与科技的完美融合
  • 【linux】服务器Ubuntu20.04安装cuda11.8教程
  • 从零到一:如何使用直播美颜SDK开发视频美颜平台
  • C# Window Form 基础
  • 初探Vue前端框架
  • 【等保测评】安全物理环境
  • 腾讯云DBA面试(一面)
  • 大语言模型训练方式探索(基于llma3模型)
  • ThinkPhp配置中间件解决跨域问题