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

news2024/12/25 10:08:47

文章目录

  • 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.coloradmin.cn/o/2224028.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

气膜娱乐馆:科技与自然的完美结合—轻空间

在这片拥有独特滨海风光和丰富旅游资源的地方&#xff0c;气膜娱乐馆应运而生&#xff0c;为游客和当地居民打造了一个集运动、娱乐、亲子游乐和科技互动于一体的综合性室内娱乐体验。 灵活空间&#xff0c;舒适体验 气膜结构为娱乐馆提供了广阔的空间灵活性&#xff0c;使其能…

【Markdown速成】半小时入门Markdown教程(后缀.md文件详解)

目录 一.认识Markdown Markdown Typora 二.Typora设置 三.Markdown语法 1.标题 2.正文 2.1分割线 2.2删除线 2.3下划线 2.4斜体 2.5粗体 2.6斜粗体 2.7高亮 2.8字体属性&#xff08;大小及颜色&#xff09; 2.9对齐方式 2.10引用 3.列表 有序列表 无序列表 …

steam新品节!GameViewr远程随时随地手机平板玩主机游戏教程

Steam平台在10月14日迎来了新品节&#xff0c;你可以尝试即将推出的游戏的免费试用版&#xff0c;将他们加入愿望单&#xff0c;像是《迷失之径》《贪婪大地》《疯狂手机大亨》等等。不知道大家是否已经选择好自己心怡的游戏呢&#xff1f;要是你想随时随地体验steam新品节的游…

大一物联网要不要转专业,转不了该怎么办?

有幸在2014年&#xff0c;踩中了物联网的风口&#xff0c;坏消息&#xff0c;牛马的我&#xff0c;一口汤都没喝上。 依稀记得&#xff0c;当时市场部老大&#xff0c;带我去上海参加电子展会&#xff0c;印象最深的&#xff0c;一些物联网云平台&#xff0c;靠着一份精美PPT&a…

Visual studio 下载安装

1&#xff0c;Visual stutdio 网址 下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux 2&#xff0c;下划页面&#xff0c;点击 较早的下载 3&#xff0c;选择对应的版本进行下载

IDEA关联Tomcat——最新版本IDEA 2024

1.链接Tomcat到IDEA上 添加Tomcat到IDEA上有两种方式&#xff1a; 第一种&#xff1a; &#xff08;1&#xff09;首先&#xff0c;来到欢迎界面&#xff0c;找到左侧的Customize选项 &#xff08;2&#xff09;然后找到Build、Execution、Deployment选项 &#xff08;3&am…

LabVIEW中句柄与引用

在LabVIEW中&#xff0c;句柄&#xff08;Handle&#xff09; 是一种用于引用特定资源或对象的标识符。它类似于指针&#xff0c;允许程序在内存中管理和操作复杂的资源&#xff0c;而不需要直接访问资源本身。句柄用于管理动态分配的资源&#xff0c;如队列、文件、网络连接、…

使用query-string库出现错误Module parse failed: Unexpected token

环境 node v12query-string 9.1.0 报错信息 Failed to compile../node_modules/query-string/base.js 350:14 Module parse failed: Unexpected token (350:14) File was processed with these loaders:* ./node_modules/babel-loader/lib/index.js You may need an additio…

Hadoop:yarn的Rust API接口

今天头一次接触了yarn的Rust API接口&#xff0c;在本地搭建了集群&#xff0c;能够得到每个任务的详细信息。 (一)得到所有任务的所有信息命令&#xff1a; 默认是json格式&#xff0c;也可以指定xml的格式&#xff0c;如(curl --compressed -H "Accept: application/x…

个性化头像新选择:A1快速定制你的专属头像

个性化头像是彰显个人特色的绝佳方式&#xff0c;许多人为了表达自我&#xff0c;都会选择定制专属头像。然而&#xff0c;传统的定制头像服务往往价格不菲&#xff0c;且效果难以预测。幸运的是&#xff0c;AI绘画技术的发展为这一问题提供了解决方案。尽管许多AI绘画平台需要…

Windows server 2003服务器的安装

Windows server 2003服务器的安装 安装前的准备&#xff1a; 1.镜像SN序列号 图1-1 Windows server 2003的安装包非常人性化 2.指定一个安装位置 图1-2 选择好安装位置 3.启动虚拟机打开安装向导 图1-3 打开VMware17安装向导 图1-4 给虚拟光驱插入光盘镜像 图1-5 输入SN并…

使用 ASP.NET Core 8.0 创建最小 API

构建最小 API&#xff0c;以创建具有最小依赖项的 HTTP API。 它们非常适合需要在 ASP.NET Core 中仅包括最少文件、功能和依赖项的微服务和应用。 本教程介绍使用 ASP.NET Core 生成最小 API 的基础知识。 在 ASP.NET Core 中创建 API 的另一种方法是使用控制器。 有关在最小 …

数据结构 单调栈

应用情景 求当前元素 前面/后面&#xff0c;第一个比它 小/大 的元素的 值/下标/下标距离 优点 剔除重复寻路操作&#xff0c;将暴力 O(n^2) 优化到 O(n) 性质 从栈底开始&#xff0c;元素 单调递增/单调递减 单调性视具体情景而定 (找较大值还是较小值、找的方向) 思路…

提升数据处理效率:TDengine S3 的最佳实践与应用

在当今数据驱动的时代&#xff0c;如何高效地存储与处理海量数据成为了企业面临的一大挑战。为了解决这一问题&#xff0c;我们在 TDengine 3.2.2.0 首次发布了企业级功能 S3 存储。这一功能经历多个版本的迭代与完善后&#xff0c;逐渐发展成为一个全面和高效的解决方案。 S3…

语音提示器-WT3000A离在线TTS方案-打破语种限制/AI对话多功能支持

前言&#xff1a; TTS&#xff08;Text To Speech &#xff09;技术作为智能语音领域的重要组成部分&#xff0c;能够将文本信息转化为逼真的语音输出&#xff0c;为各类硬件设备提供便捷的语音提示服务。本方案正是基于唯创知音的离在线TTS&#xff08;离线本地音乐播放与在线…

【TFR-Net】基于transformer的鲁棒多模态情感分析特征重构网络

代码地址&#xff1a;TFR-Net/models at main thuiar/TFR-Net GitHub abstract&#xff1a; 提高对数据缺失的鲁棒性已经成为多模态情感分析&#xff08;MSA&#xff09;的核心挑战之一&#xff0c;MSA旨在从语言、视觉和声学信号中判断说话者的情感。在目前的研究中&#…

k3s 管理界面kuboard

一、登录kuboard 执行的内容&#xff1a; cat << EOF > kuboard-create-token.yaml --- apiVersion: v1 kind: Namespace metadata:name: kuboard--- apiVersion: v1 kind: ServiceAccount metadata:name: kuboard-adminnamespace: kuboard--- apiVersion: rbac.auth…

linux中级wed服务器(https搭建加密服务器)

一。非对称加密算法&#xff1a; 公钥&#xff1a;公共密钥&#xff0c;开放 私钥&#xff1a;私有密钥&#xff0c;保密 1.发送方用自己的公钥加密&#xff0c;接受方用发送方的私钥解密&#xff1a;不可行 2.发送方用接受方的公钥加密&#xff0c;接受方用自己的私钥解密…

YOLOv8_ ByteTrack目标跟踪、模型部署

YOLOv8目前支持BoT-SORT和ByteTrack两种多目标跟踪算法&#xff0c;默认的目标跟踪算法为BoT-SORT 如果要使用ByteTrack跟踪算法&#xff0c;可以添加命令行参数trackerbytetrack.yaml 一、 VisDrone2019数据集 VisDrone&#xff1a;无人机目标检测和追踪基准数据集。&#x…

CR6609 刷机

如果要刷openwrt&#xff0c;必须用pb-boot&#xff0c;如果用breed&#xff0c;会进不了系统。 刷了breed的话&#xff0c;可以在breed改刷pb-boot&#xff0c;在bootloader那里选择pb-boot的固件上传更新即可 固件更新----选择Bootloader----上传pb-boot文件----选择自动重…