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;根据应用需求选择合适的信号…

各数据库查询模式名、表名、表注释、表大小

一、Oracle SELECT * FROM (SELECT t.*, ROWNUM rn FROM (SELECT a.owner AS schema_name, a.table_name, b.comments as table_comment, COALESCE(a.blocks, 0) * 8 / 1024 AS size_kb FROM dba_tables a left join dba_tab_comments b on a.table_name b.table_name and a.…

[Python学习篇] Python异常

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

《警世贤文》摘抄:处人篇、受恩篇、宽人篇、听劝篇、劝善篇(多读书、多看报、少吃零食多睡觉)

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/140343740 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV…

新手教学系列——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可用于客户端应用程序和服…

灵岫科技技术二面\.(过了)

1 自我介绍 2 项目拷打 -高效率如何保证&#xff1f; 时间空间&#xff08;内存碎片浪费&#xff09; -适用于什么场景&#xff1f; -和malloc/free相比好在哪&#xff1f; -是否一定比free/malloc快&#xff1f; 也许不一定&#xff0c;毕竟没有tcmalloc考虑的全面 3 …

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

作为一名经常需要处理大量信息和任务的作家&#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 //更…

helm简介

基本命令 新增一个repo helm repo list helm repo add repo_name repo_url helm repo add gzk https://abc.gz.com/gzk helm repo remove 列出仓库内可用的包 helm search repo gzk #支持模糊匹配 安装一个包 helm repo update 发布一个release helm …

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

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

Datadomain存储上的文件大小,linux环境建议使用du -sh --apparent-size或ll -sh来查看

发现一个有趣的现象&#xff0c;linux服务器挂载了DELL的Datadomain存储&#xff0c;有一个文件大小是424MB&#xff0c;这个文件在linux服务器本地路径上占用磁盘空间也是424MB&#xff0c;但是把这个文件拷贝到Datadomain存储路径&#xff0c;发现这个文件在Datadomain存储路…