2024.7.10作业

完成学生管理系统

1> 使用菜单完成

2> 有学生的信息录入功能:输入学生个数,并将学生的姓名、分数录入

3> 查看学生信息:输出所有学生姓名以及对应的分数

4> 求出学习最好的学生信息:求最大值

5> 按姓名将所有学生进行升序排序

6> 按成绩将所有学生进行升序排序

要求每个功能使用函数完成

#include <stdio.h>
#include <string.h>

void enter(char arr[][20],int brr[],int n,int m)  //录入函数
{
    for(int i=n;i<=m;i++)
    {
        printf("输入第%d个学生姓名:",i+1);
        scanf("%s",arr[i]);
        printf("输入第%d个学生成绩:",i+1);
        scanf("%d",&brr[i]);
    }
}

void query(char arr[][20],int brr[],int n) //查询所以学生信息函数
{
    for(int i=0;i<n;i++)
    {
        printf("学生%s的成绩是%d\n",arr[i],brr[i]);
    }
}

void MAX(char arr[][20],int brr[],int n)  //求成绩最好学生信息函数
{
    int max=brr[0],maxi=0;
    for(int i=1;i<n;i++)
    {
        if(brr[i]>max)
        {
            max=brr[i];
            maxi=i;
        }
    }
    printf("学习最好的是%s,成绩是%d\n",arr[maxi],brr[maxi]);

}

void name_sort(char arr[][20],int brr[],int n)  //按名字升序排列函数
{
    char crr[20]={0};
    for(int i=1;i<n;i++)
    {
        for(int j=0;j<n-i;j++)
        {
            if(strcmp(arr[j],arr[j+1])>0)
            {
                strcpy(crr,arr[j]);
                strcpy(arr[j],arr[j+1]);
                strcpy(arr[j+1],crr);
                int temp=brr[j];
                brr[j]=brr[j+1];
                brr[j+1]=temp;

            }
        }
    }
    for(int i=0;i<n;i++)
    {
        printf("学生%s的成绩是%d\n",arr[i],brr[i]);
    }
}

void grade_sort(char arr[][20],int brr[],int n)  //按成绩升序排列函数
{
    char crr[20]={0};
    for(int i=1;i<n;i++)
    {
        for(int j=0;j<n-i;j++)
        {
            if(brr[j]>brr[j+1])
            {
                strcpy(crr,arr[j]);
                strcpy(arr[j],arr[j+1]);
                strcpy(arr[j+1],crr);
                int temp=brr[j];
                brr[j]=brr[j+1];
                brr[j+1]=temp;

            }
        }
    }
    for(int i=0;i<n;i++)
    {
        printf("学生%s的成绩是%d\n",arr[i],brr[i]);
    }
}


int main(int argc,const char *argv[])    
{
    int menu=0;  //存放菜单选项
    int n=0;     //存放学生个数
    char name[100][20]={0};  //存放学生姓名
    int grade[100]={0};      //存放学生成绩
    while(1)
    {
         printf("\t\t========学生管理系统==========\n");
        printf("\t\t========1.学生信息录入==========\n");
        printf("\t\t========2.查看学生信息==========\n");
        printf("\t\t========3.查询学习最好的学生信息==========\n");
        printf("\t\t========4.按姓名升序排序==========\n");
        printf("\t\t========5.按成绩升序排序==========\n");
        printf("\t\t========6.退出==========\n");
        printf("请输入>>>");
        scanf("%d",&menu);
        getchar();
        switch(menu)
        {
            case 1:
                {
                    int m;
                    printf("请输入录入学生个数:");
                      scanf("%d",&m);
                    enter(name,grade,n,n+m-1);
                    n=n+m;
                }
                break;
            case 2:
                query(name,grade,n);
                break;
            case 3:
                MAX(name,grade,n);
                break;
            case 4:
                name_sort(name,grade,n);
                break;
            case 5:
                grade_sort(name,grade,n);
                break;
            case 6:
                goto END;

        }
    }
    END:     
        return 0;
}
 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/44844.shtml

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

相关文章

北斗GPS天线使用技巧与性能对比

北斗GPS天线使用中注意的问题 多系统兼容性&#xff1a;确保天线不仅能接收北斗信号&#xff0c;还能同时接收其他GNSS系统&#xff08;如GPS、GLONASS、Galileo&#xff09;的信号&#xff0c;以提高定位精度和可靠性。 信号频率选择&#xff1a;根据应用需求选择合适的信号…

[Python学习篇] Python异常

什么是异常&#xff1f; 异常&#xff08;Exception&#xff09;是指在程序执行过程中发生的错误事件&#xff0c;它会中断程序的正常执行流程。异常可以由程序中的错误引发&#xff0c;也可以通过主动抛出异常来处理特殊情况。Python 使用异常处理机制来捕获和处理这些错误&am…

新手教学系列——MongoDB聚合查询的进阶用法

引言 MongoDB的聚合查询是其最强大的功能之一。无论是汇总、平均值、计数等标准操作,还是处理复杂的数据集合,MongoDB的聚合框架都能提供高效且灵活的解决方案。本文将通过几个实例,详细讲解如何在实际项目中使用MongoDB进行聚合查询。 标准应用:汇总、平均值、计数等 在…

【C语言】字符函数和字符串函数的介绍和模拟实现

介绍处理字符和字符串的库函数的使用和注意事项 求字符串长度 strlen 长度不受限制的字符串函数 strcpy strcat strcmp 长度受限制的字符串函数介绍 strncpy strncat strncmp 0. 前言 C语言中对字符和字符串的处理很是频繁&#xff0c;但是C语言本身是没有字符串类型的&am…

从0开始的STM32HAL库学习2

外部中断(HAL库GPIO讲解) 今天我们会详细地学习STM32CubeMX配置外部中断&#xff0c;并且讲解HAL库的GPIO的各种函数。 准备工作&#xff1a; 1、STM32开发板&#xff08;我的是STM32F103C8T6&#xff09; 2、STM32CubeMx软件、 IDE&#xff1a; Keil软件 3、STM32F1xx/ST…

Jenkins设置开机自启(以war包方式启动jenkins)

配置环境&#xff1a;Centos7.6/Jenkins 2.452.2/jdk-21.0.3 jenkins启动命令&#xff1a; nohup java -jar jenkins.war > /dev/null 2>&1 & 1、创建sh脚本文件 # jenkins.war包&#xff0c;放在了/root/software目录 cd /root/software vim jenkins-start.sh …

Qt QWebSocket网络编程

学习目标&#xff1a;Qt QWebSocket网络编程 学习前置环境 QT TCP多线程网络通信-CSDN博客 学习内容 WebSocket是一种通过单个TCP连接提供全双工通信信道的网络技术。2011年&#xff0c;IETF将WebSocket协议标准化为 RFC6455&#xff0c;QWebSocket可用于客户端应用程序和服…

怎么把便签主面板置顶 便签主面板置顶方法

作为一名经常需要处理大量信息和任务的作家&#xff0c;我发现便签记事真的是我的救星。无论是临时灵感、会议要点还是待办事项&#xff0c;便签都能帮我快速记录&#xff0c;让我不再遗漏任何重要信息。而且&#xff0c;便签的应用场景也非常广泛&#xff0c;无论是在电脑前写…

在JavaScript中,什么是解构赋值(destructuring assignment)?

聚沙成塔每天进步一点点 本文回顾 ⭐ 专栏简介在JavaScript中&#xff0c;什么是解构赋值&#xff08;destructuring assignment&#xff09;&#xff1f;1. 引言2. 解构赋值的概念3. 数组解构赋值3.1 基本语法3.2 跳过元素3.3 默认值3.4 交换变量值 4. 对象解构赋值4.1 基本语…

goaccess分析json格式日志

一.安装使用yum安装&#xff0c;yum install goaccess 二.主要介绍格式问题 1.nginx日志格式如下&#xff1a; log_format main escapejson {"time_local":"$time_local", "remote_addr":"$remote_addr", "r…

回收站清空了怎么恢复回来?8个数据恢复方法汇总分享!

在日常工作中&#xff0c;我们常常会遇到一个令人头痛的问题&#xff1a;回收站清空了怎么恢复回来&#xff1f;这种情况其实比想象中更常见。有时在整理桌面时可能会不小心彻底清理文件&#xff0c;或者误开启了回收站的自动清理功能&#xff0c;甚至可能因为病毒或bug而意外丢…

人工智能内容创作中RAG方法综述

论文链接&#xff1a;https://arxiv.org/pdf/2402.19473v1 尽管AIGC取得了显著的性能&#xff0c;但仍面临着如保持最新和长尾知识困难、数据泄露风险以及训练和推理成本高昂等挑战。检索增强生成&#xff08;RAG&#xff09;作为一种范式应运而生&#xff0c;通过从可用数据存…

【ACM珠海分会,IEEE Fellow加盟,CPS出版】第四届管理科学和软件工程国际学术会议(ICMSSE 2024,7月19-21)

第四届管理科学和软件工程国际学术会议(ICMSSE 2024)由ACM珠海分会&#xff0c;广州番禺职业技术学院主办&#xff1b;全国区块链行业产教融合共同体&#xff0c;AEIC学术交流中心承办&#xff0c;将于2024年7月19-21日于广州召开。 会议旨在为从事管理与软件工程领域的专家学…

realsense D435l+mid360标定

目录 一、安装realsense环境 二、获取realsense D450L相机内参 三、标定雷达和相机 1.下载livox_camera_calib 2.修改配置参数 3.使用fastlio生成点云 4.标定 一、安装realsense环境 git clone https://github.com/IntelRealSense/librealsense.git cd librealsense //更…

【文科类cpci/cnki会议,主题广泛】第九届现代管理、教育与社会科学国际学术会议(MMET2024)

会议信息 点击跳转会议官网&#xff08;更多会议信息可添加会议官网下方负责老师-杨老师&#xff09; 大会时间&#xff1a;2024年09月20-22日 大会地点&#xff1a;中国-厦门 提交检索&#xff1a;CPCI&#xff0c;CNKI (知网检索快速稳定) 点击一键投稿 点击一键参会&a…

模拟开关应用注意事项

应用模拟开关时&#xff0c;开关时间是一个重要的考虑因素&#xff0c;但是&#xff0c;不能将开关时间与建立时间相 混淆。导通时间和关断时间只是从控制输入到开关切换间的传播延迟的一种衡量指标&#xff0c;主要由驱动和电平转换电路中的时间延迟导致。tON和tOFF两个值一般…

基于单片机的温湿度感应智能晾衣杆系统设计

&#xff3b;摘 要&#xff3d; 本设计拟开发一种湿度感应智能晾衣杆系统 &#xff0c; 此新型晾衣杆是以单片机为主控芯片 来控制的实时检测系统 &#xff0e; 该系统使用 DHT11 温湿度传感器来检测大气的温湿度 &#xff0c; 然后通过单 片机处理信息来控制 28BYJ &…

网络安全防御 -- 防火墙安全策略用户认证综合实验

实验拓扑&#xff1a; 实验目的&#xff1a; 1、DMZ区内的服务器&#xff0c;办公区仅能在办公时间内(9:00-18:00)可以访问&#xff0c;生产区的设备全天可以访问。 2、生产区不允许访问互联网&#xff0c;办公区和游客区允许访问互联网。 3、办公区设备10.0.2.10不允许访问DM…

sql常用语句:

1.联合查询 对表中的数据进行限制&#xff1b; 2.从一个表复制到另一个表 SELECT INTO 将数据复制到一个新表&#xff08;有的 DBMS 可以覆盖已经存在的表&#xff0c;这依赖于 所使用的具体 DBMS&#xff09; SELECT *&#xff08;字段&#xff09; INTO CustCopy FROM Cu…

高仿imtoken钱包源码/获取助记词/获取私钥/自动归集

简介&#xff1a; 高仿imtoken钱包/获取助记词/获取私钥/自动归集 带双端&#xff0c;无纯源码 下载源码