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学习 🚀 欢迎关注:👍点赞 &…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
