当前位置: 首页 > news >正文

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 引入的一个轻量级、不拥有&#xff08;non-owning&#xff09;的字符串视图类。它的设计初衷是提供一种高效、…...

【机器学习理论基础】回归模型定义和分类

定义 回归分析是研究自变量与因变量之间数量变化关系的一种分析方法&#xff0c;它主要是通过因变量 Y Y Y与影响它的自变量 X i X_i Xi​ 之间的回归模型&#xff0c;衡量自变量 X i X_i Xi​ 对因变量 Y Y Y 的影响能力的&#xff0c;进而可以用来预测因变量Y的发展趋势。…...

探讨4层代理和7层代理行为以及如何获取真实客户端IP

准备工作 实验环境 IP角色192.168.1.100客户端请求IP192.168.1.100python 启动的HTTP服务192.168.1.102nginx服务192.168.1.103haproxy 服务 HTTP服务 这是一个简单的HTTP服务&#xff0c;主要打印HTTP报文用于分析客户端IP #!/usr/bin/env python # coding: utf-8import …...

java算法day11

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

linux下安装cutecom串口助手;centos安装cutecom串口助手;rpm安装包安装cutecom串口助手

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

2024年信息系统项目管理师2批次上午客观题参考答案及解析(1)

1、关于收集需求管理过程及相关技术的描述&#xff0c;正确的是&#xff08;&#xff09; A&#xff0e;需求跟踪矩阵是把产品需求从其来源链接到能满足需求的可交付成果的一种表格 B&#xff0e;原型法是一种结构化的头脑风暴形式&#xff0c;通过投票排列最有用的创意 C&am…...

Xinstall揭秘:APP推广数据背后的真相,让你的营销更精准!

在这个移动互联网时代&#xff0c;APP如同雨后春笋般涌现&#xff0c;但如何在这片红海中脱颖而出&#xff0c;成为每一个开发者与运营者面临的共同难题。其中&#xff0c;APP推广统计作为衡量营销效果、优化推广策略的关键环节&#xff0c;更是不可忽视的一环。今天&#xff0…...

科研绘图系列:R语言小提琴图(Violin Plot)

介绍 小提琴图(Violin Plot)是一种结合了箱线图和密度图的图表,它能够展示数据的分布密度和分布形状。以下是对小提琴图的详细解释: 小提琴图能表达: 数据分布:小提琴图通过在箱线图的两侧绘制曲线来展示数据的分布密度,曲线的宽度表示数据点的密度。集中趋势:箱线图部…...

【Vite】修改构建后的 index.html 文件名

在 Vite 项目中&#xff0c;默认构建 index.html 。但有时候我们需要修改 index.html 为其他文件名&#xff0c;比如 index-{时间戳}.html 。 我们可以这样配置 vite.config.js&#xff1a; import { defineConfig } from vite; import type { PluginOption } from vite;// 自…...

解决IDEA每次新建项目都需要重新配置maven的问题

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

论文学习_Getafix: learning to fix bugs automatically

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

Xilinx FPGA:vivado关于真双端口的串口传输数据的实验

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

RedisTemplate 中序列化方式辨析

在Spring Data Redis中&#xff0c;RedisTemplate 是操作Redis的核心类&#xff0c;它提供了丰富的API来与Redis进行交互。由于Redis是一个键值存储系统&#xff0c;它存储的是字节序列&#xff0c;因此在使用RedisTemplate时&#xff0c;需要指定键&#xff08;Key&#xff09…...

数据结构与算法基础篇--二分查找

必要前提&#xff1a;有序数组 算法简述&#xff1a;通过不断取中间值和目标target值进行比较&#xff08;中间值&#xff1a;mid (left right) / 2&#xff09; 如果目标值等于中间位置的值&#xff0c;则找到目标&#xff0c;返回中间位置如果目标值小于中间位置的值&…...

python xlsx 导出表格超链接

该Python脚本用于从Excel文件中的第一列提取所有超链接并保存到一个文本文件中。首先&#xff0c;脚本导入必要的库并定义输入和输出文件的路径。然后&#xff0c;它确保输出文件的目录存在。接着&#xff0c;脚本加载Excel文件并选择活动工作表。通过遍历第一列的所有单元格&a…...

Data Guard高级玩法:failover备库后,通过闪回恢复DG备库

作者介绍&#xff1a;老苏&#xff0c;10余年DBA工作运维经验&#xff0c;擅长Oracle、MySQL、PG、Mongodb数据库运维&#xff08;如安装迁移&#xff0c;性能优化、故障应急处理等&#xff09; 公众号&#xff1a;老苏畅谈运维 欢迎关注本人公众号&#xff0c;更多精彩与您分享…...

【Unity2D 2022:NPC】制作任务系统

一、接受任务 1. 编辑NPC对话脚本&#xff1a; &#xff08;1&#xff09;创建静态布尔变量用来判断ruby是否接受到任务 public class NPCDialog : MonoBehaviour {// 创建全局变量用来判断ruby是否接到任务public static bool receiveTask false; } &#xff08;2&#xff…...

【C++深度学习】多态(概念虚函数抽象类)

✨ 疏影横斜水清浅&#xff0c;暗香浮动月黄昏 &#x1f30f; &#x1f4c3;个人主页&#xff1a;island1314 &#x1f525;个人专栏&#xff1a;C学习 &#x1f680; 欢迎关注&#xff1a;&#x1f44d;点赞 &…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

微服务商城-商品微服务

数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术&#xff1a;基于互相关的相干体技术&#xff08;Correlation&#xff09;第二代相干体技术&#xff1a;基于相似的相干体技术&#xff08;Semblance&#xff09;基于多道相似的相干体…...

算法:模拟

1.替换所有的问号 1576. 替换所有的问号 - 力扣&#xff08;LeetCode&#xff09; ​遍历字符串​&#xff1a;通过外层循环逐一检查每个字符。​遇到 ? 时处理​&#xff1a; 内层循环遍历小写字母&#xff08;a 到 z&#xff09;。对每个字母检查是否满足&#xff1a; ​与…...

密码学基础——SM4算法

博客主页&#xff1a;christine-rr-CSDN博客 ​​​​专栏主页&#xff1a;密码学 &#x1f4cc; 【今日更新】&#x1f4cc; 对称密码算法——SM4 目录 一、国密SM系列算法概述 二、SM4算法 2.1算法背景 2.2算法特点 2.3 基本部件 2.3.1 S盒 2.3.2 非线性变换 ​编辑…...

车载诊断架构 --- ZEVonUDS(J1979-3)简介第一篇

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...