C基础day8
一、思维导图
二、课后习题
#include<myhead.h>
#define Max_Stu 100
//函数声明
//学生信息录入函数
void Enter_stu(int *Num_Stu,char Stu_name[][50],int Stu_score[]);
//查看学生信息
void Print_stu(int Num_Stu,char Stu_name[][50],int Stu_score[]);
//求出成绩最好的学生的成绩
void Best_Stu(int Num_Stu,char Stu_name[][50],int Stu_score[]);
//按姓名升序排序
void Sort_name(int Num_Stu,char Stu_name[][50],int Stu_score[]);
//按成绩对学生升序排序
void Sort_score(int Num_Stu,char Stu_name[][50],int Stu_score[]);/**********************主函数*************************/
int main(int argc, const char *argv[])
{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=======0、 退出 =======\n"); //定义二维字符数组存放学生姓名//定义一维数组存放学生成绩char Stu_name[Max_Stu][50];int Stu_score[Max_Stu];int Num_Stu= 0; //初始化录入学生人数//菜单int menu =0;do{printf("请输入选项>>>");scanf("%d",&menu);getchar();//多分支选择执行对应功能switch(menu){case 1://录入学生信息//调用信息录入函数Enter_stu(&Num_Stu,Stu_name,Stu_score);break;case 2://查看学生信息Print_stu(Num_Stu,Stu_name,Stu_score);break;case 3://求成绩最高的学生信息Best_Stu(Num_Stu,Stu_name,Stu_score);break;case 4://按姓名升序排序Sort_name(Num_Stu,Stu_name,Stu_score);break;case 5://按成绩对学生升序排序Sort_score(Num_Stu,Stu_name,Stu_score);case 0://退出break;default:printf("输入错误,请重新输入\n");break;}} while(menu !=0);return 0;
}//学生信息录入函数
void Enter_stu(int *Num_Stu,char Stu_name[][50],int Stu_score[])
{//提示输入学生个数,作为参数传给录入函数printf("请输入录入学生人数:");scanf("%d",Num_Stu);//循环输入学生姓名和成绩for(int i=0;i< *Num_Stu;i++){printf("请输入第%d个学生姓名:",i+1);scanf("%s",Stu_name[i]);printf("请输入第%d个学生成绩:",i+1);scanf("%d",&Stu_score[i]);}}//查看学生信息
void Print_stu(int Num_Stu,char Stu_name[][50],int Stu_score[])
{printf("学生信息如下:\n");//循环打印学生信息for(int i=0;i<Num_Stu;i++){printf("姓名:%s,分数:%d\n",Stu_name[i],Stu_score[i]);}
}//求出成绩最好的学生的成绩
void Best_Stu(int Num_Stu,char Stu_name[][50],int Stu_score[])
{int max_score = -1; //定义最大成绩容器int index =-1; //记录学生数组下标//循环比较学生成绩for(int i=0;i<Num_Stu;i++){if(Stu_score[i] > max_score){max_score = Stu_score[i];index = i;}}//判断是否有误if(index != -1)printf("成绩最高的学生:姓名:%s,分数:%d\n",Stu_name[index],Stu_score[index]);elseprintf("没有学生信息记录\n");}//按姓名升序排序
void Sort_name(int Num_Stu,char Stu_name[][50],int Stu_score[])
{//定义字符数组替换数组//定义分数替换容器char tempName[50];int tempScore;//循环比较并排序for(int i =0;i<Num_Stu-1;i++){for(int j =0;j<Num_Stu -i-1;j++){if(strcmp(Stu_name[j],Stu_name[j+1]) > 0){//替换姓名位置strcpy(tempName,Stu_name[j]);strcpy(Stu_name[j],Stu_name[j+1]);strcpy(Stu_name[j+1],tempName);//替换分数位置tempScore = Stu_score[j];Stu_score[j] = Stu_score[j+1];Stu_score[j+1] = tempScore;}}}//打印排序后结果printf("学生按姓名排序后的结果:\n");for(int i=0;i<Num_Stu;i++){printf("姓名:%s,分数:%d\n",Stu_name[i],Stu_score[i]);}
}//按成绩对学生升序排序
void Sort_score(int Num_Stu,char Stu_name[][50],int Stu_score[])
{//定义字符数组替换数组//定义分数替换容器char tempName[50];int tempScore;//循环比较并排序for(int i =0;i<Num_Stu-1;i++){for(int j =0;j<Num_Stu -i-1;j++){if(Stu_score[j] > Stu_score[j+1]){//替换姓名位置strcpy(tempName,Stu_name[j]);strcpy(Stu_name[j],Stu_name[j+1]);strcpy(Stu_name[j+1],tempName);//替换分数位置tempScore = Stu_score[j];Stu_score[j] = Stu_score[j+1];Stu_score[j+1] = tempScore;}}}//打印排序后结果printf("学生按分数排序后的结果:\n");for(int i=0;i<Num_Stu;i++){printf("姓名:%s,分数:%d\n",Stu_name[i],Stu_score[i]);}}
相关文章:

C基础day8
一、思维导图 二、课后习题 #include<myhead.h> #define Max_Stu 100 //函数声明 //学生信息录入函数 void Enter_stu(int *Num_Stu,char Stu_name[][50],int Stu_score[]); //查看学生信息 void Print_stu(int Num_Stu,char Stu_name[][50],int Stu_score[]); //求出成绩…...

【Spring成神之路】老兄,来一杯Spring AOP源码吗?
文章目录 一、引言二、Spring AOP的使用三、Spring AOP的组件3.1 Pointcut源码3.2 Advice源码3.3 Advisor源码3.4 Aspect源码 四、Spring AOP源码刨析4.1 configureAutoProxyCreator源码解析4.2 parsePointcut源码解析4.3 parseAdvisor源码解析4.4 parseAspect源码解析4.5 小总…...

轻松理解c++17的string_view
文章目录 轻松理解c17的string_view设计初衷常见用法构造 std::string_view常用操作作为函数参数 注意事项总结 轻松理解c17的string_view std::string_view 是 C17 引入的一个轻量级、不拥有(non-owning)的字符串视图类。它的设计初衷是提供一种高效、…...

【机器学习理论基础】回归模型定义和分类
定义 回归分析是研究自变量与因变量之间数量变化关系的一种分析方法,它主要是通过因变量 Y Y Y与影响它的自变量 X i X_i Xi 之间的回归模型,衡量自变量 X i X_i Xi 对因变量 Y Y Y 的影响能力的,进而可以用来预测因变量Y的发展趋势。…...

探讨4层代理和7层代理行为以及如何获取真实客户端IP
准备工作 实验环境 IP角色192.168.1.100客户端请求IP192.168.1.100python 启动的HTTP服务192.168.1.102nginx服务192.168.1.103haproxy 服务 HTTP服务 这是一个简单的HTTP服务,主要打印HTTP报文用于分析客户端IP #!/usr/bin/env python # coding: utf-8import …...

java算法day11
二叉树的递归遍历二叉树的非递归遍历写法层序遍历 递归怎么写? 按照三要素可以保证写出正确的递归算法: 1.确定递归函数的参数和返回值: 确定哪些参数是递归的过程中需要处理的,那么就在递归函数里加上这个参数, 并且…...

linux下安装cutecom串口助手;centos安装cutecom串口助手;rpm安装包安装cutecom串口助手
在支持apt-get的系统下安装 在终端命令行中输入: sudo apt-get install cutecom 安装好后输入 sudo cutecom 就可以了 关于如何使用,可以看这个https://www.cnblogs.com/xingboy/p/14388610.html 如果你的电脑不支持apt-get。 那我们就通过安装包…...

2024年信息系统项目管理师2批次上午客观题参考答案及解析(1)
1、关于收集需求管理过程及相关技术的描述,正确的是() A.需求跟踪矩阵是把产品需求从其来源链接到能满足需求的可交付成果的一种表格 B.原型法是一种结构化的头脑风暴形式,通过投票排列最有用的创意 C&am…...

Xinstall揭秘:APP推广数据背后的真相,让你的营销更精准!
在这个移动互联网时代,APP如同雨后春笋般涌现,但如何在这片红海中脱颖而出,成为每一个开发者与运营者面临的共同难题。其中,APP推广统计作为衡量营销效果、优化推广策略的关键环节,更是不可忽视的一环。今天࿰…...

科研绘图系列:R语言小提琴图(Violin Plot)
介绍 小提琴图(Violin Plot)是一种结合了箱线图和密度图的图表,它能够展示数据的分布密度和分布形状。以下是对小提琴图的详细解释: 小提琴图能表达: 数据分布:小提琴图通过在箱线图的两侧绘制曲线来展示数据的分布密度,曲线的宽度表示数据点的密度。集中趋势:箱线图部…...
【Vite】修改构建后的 index.html 文件名
在 Vite 项目中,默认构建 index.html 。但有时候我们需要修改 index.html 为其他文件名,比如 index-{时间戳}.html 。 我们可以这样配置 vite.config.js: import { defineConfig } from vite; import type { PluginOption } from vite;// 自…...

解决IDEA每次新建项目都需要重新配置maven的问题
每次打开IDEA都要重新配置maven,这是因为在DEA中分为项目设置和全局设置,这个时候我们就需要去到全局中设置maven了。我用的是IntelliJ IDEA 2023.3.4 (Ultimate Edition),以此为例。 第一步:打开一个空的IDEA,选择左…...

论文学习_Getafix: learning to fix bugs automatically
1. 引言 研究背景:现代生产代码库极其复杂并且不断更新。静态分析器可以帮助开发人员发现代码中的潜在问题(在本文的其余部分中称为错误),这对于在这些大型代码库中保持高代码质量是必要的。虽然通过静态分析尽早发现错误是有帮助的,但修复这些错误的问题在实践中仍然主要…...

Xilinx FPGA:vivado关于真双端口的串口传输数据的实验
一、实验内容 用一个真双端RAM,端口A和端口B同时向RAM里写入数据0-99,A端口读出单数并存入单端口RAM1中,B端口读出双数并存入但端口RAM2中,当检测到按键1到来时将RAM1中的单数读出显示到PC端,当检测到按键2到来时&…...

RedisTemplate 中序列化方式辨析
在Spring Data Redis中,RedisTemplate 是操作Redis的核心类,它提供了丰富的API来与Redis进行交互。由于Redis是一个键值存储系统,它存储的是字节序列,因此在使用RedisTemplate时,需要指定键(Key)…...
数据结构与算法基础篇--二分查找
必要前提:有序数组 算法简述:通过不断取中间值和目标target值进行比较(中间值:mid (left right) / 2) 如果目标值等于中间位置的值,则找到目标,返回中间位置如果目标值小于中间位置的值&…...
python xlsx 导出表格超链接
该Python脚本用于从Excel文件中的第一列提取所有超链接并保存到一个文本文件中。首先,脚本导入必要的库并定义输入和输出文件的路径。然后,它确保输出文件的目录存在。接着,脚本加载Excel文件并选择活动工作表。通过遍历第一列的所有单元格&a…...

Data Guard高级玩法:failover备库后,通过闪回恢复DG备库
作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG、Mongodb数据库运维(如安装迁移,性能优化、故障应急处理等) 公众号:老苏畅谈运维 欢迎关注本人公众号,更多精彩与您分享…...

【Unity2D 2022:NPC】制作任务系统
一、接受任务 1. 编辑NPC对话脚本: (1)创建静态布尔变量用来判断ruby是否接受到任务 public class NPCDialog : MonoBehaviour {// 创建全局变量用来判断ruby是否接到任务public static bool receiveTask false; } (2ÿ…...

【C++深度学习】多态(概念虚函数抽象类)
✨ 疏影横斜水清浅,暗香浮动月黄昏 🌏 📃个人主页:island1314 🔥个人专栏:C学习 🚀 欢迎关注:👍点赞 &…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...

UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...

AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...

Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
适应性Java用于现代 API:REST、GraphQL 和事件驱动
在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...
Python竞赛环境搭建全攻略
Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型(算法、数据分析、机器学习等)不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...