自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 ZZULIOJ1177 按要求排序(指针专题)

若用户的排序选择是1,则输出升序排序后的n个整数;若用户的排序选择是2,则输出降序排序后的n个整数;若用户的排序选择是3,则输出按绝对值升序排序后的n个整数;输入n和n个整数,然后按要求排序,若输入1,请输出升序排序序列;若输入2,请输出降序排序序列,若输入3,请输出按绝对值升序排序序列。/*对数组a排序,排序原则由cmp指定,若cmp为真,表示两元素逆序*///如果abs(x)>abs(y)返回1,否则返回0。/*读入n和n个整数,存入数组a*///如果x>y返回1,否则返回0;/*输出排序后的数组*/

2024-03-14 23:43:11 395

原创 链表基础操作汇总

我们可以首先进行预定义把数据类型定义为一个新的名称SLTDataType,这样方便我们后续更改元素的类型,比如我们想把int改为float,这样只需要把int改为float即可,而无需在整段的代码中找到int改为float。plist,1),在我们自己定义的函数中“大标题”应该写为,也就是二级指针,因为我们需要用二级指针来接受一级指针的地址,这样才能在根本上对我们的链表做出改变!在主函数中需要传入的实参是SLTPushBack(1)关于元素类型的定义。

2024-02-25 12:29:45 592

原创 ZZULIOJ1178单词数

0)只要不是输入‘#’就不算结束,但是我们得注意到的是这个'#'必须是换行以后输入的,否则会把'#'也作为一个单词读入,且无法结束读取;有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由大小写字母和空格组成,没有标点符号,遇到#时表示输入结束。②对于第一遍存储单词我们可以选择只要没有遇到空格和i<l就把单词读入到二维数组,这个二维数组可以看作是1000行,每行不超过30个单词,且结尾一定要用'\0'结尾;每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。

2024-02-24 11:04:42 403

原创 ZZULIOJ1179带参宏定义(函数专题)

题目描述从键盘输入三个字符,用空格隔开,使用带参宏定义1中SWAP,将三个字符按从大到小的顺序排序输出。宏定义1:#define SWAP(a, b, t) { t=a;a=b;b=t;请尝试,如果用宏定义2中的SWAP,主函数需要如何修改才能得到正确结果?宏定义2:#define SWAP(a, b, t) t=a;a=b;b=t;输入输入三个字符,用空格隔开输出输出占一行,包含三个字符,用空格隔开样例输入w a q样例输出w q a法一:宏定义里有{}主函数中调用就无需{}【

2024-02-23 19:53:22 222

原创 ZZULIOJ1180成绩统计(结构体专题)

首先输入一个整数n(1<=n<=100),表示学生人数,然后输入n行,每行包含一个学生的信息:学号(12位)、姓名(不含空格且不超过20位),以及三个整数,表示语文、数学、英语三门课成绩,数据之间用空格隔开。从键盘输入若干个学生的信息,每个学生信息包括学号、姓名、3门课的成绩,计算每个学生的总分,输出总分最高的学生的信息。输出总成绩最高的学生的学号、姓名、及三门课成绩,用空格隔开。若有多个最高分,只输出第一个。

2024-02-23 19:42:53 157

原创 ZZULIOJ1181谁的年龄最小(结构体专题)

首先输入一个整数n(1<=n<=10),表示好友人数,然后输入n行,每行包含一个好友的信息:姓名(不超过20位)以及三个整数,分别表示出生日期的年月日。设计一个结构体类型,包含姓名、出生日期。其中出生日期又包含年、月、日三部分信息。输入n个好友的信息,输出年龄最小的好友的姓名和出生日期。输出年龄最小的好友的姓名和出生日期,用空格隔开,出生日期的输出格式见输出样例。

2024-02-23 19:40:11 189

原创 ZZULIOJ1182查询记录(结构体专题)

然后输入n行,每行包含一个学生的信息:学号(12位)、姓名(不含空格且不超过20位),以及3个整数,表示3门课成绩,数据之间用空格隔开。有一学生成绩表,包括学号、姓名、3门课程成绩。请实现如下查找功能:输入一个学生的学号,输出该学生学号、姓名、3门课程成绩。若学号num存在,输出该学生的学号、姓名、3门课程成绩;若该学号不存在,则输出“Not Found”。首先输入一个整数n(1<=n<=100),表示学生人数;最后一行输入一个学号num。

2024-02-23 19:37:32 328

原创 ZZULIOJ1184 平面点排序(二)(结构体专题)

横坐标相同时按纵坐标排序,否则按横坐标排序。本题要求用结构体存储坐标,再进行排序。先升序排序输出,再降序排序输出,可以自己写排序函数,也可以用qsort库函数排序。输出有两行,即排序后的点,格式为(u,v),每个点后有一个空格。第一行升序排序结果,第二行降序排序结果。第一行是整数n(1<=n<=100),表示接下来有n行,每行两个整数,表示平面上一个点的坐标。总结:①冒泡排序可以排一次输出一次,因为每次都能找到最大值/最小值;②i偏移过后不要丢,可以直接倒叙进行升序/降序输出。

2024-02-22 23:13:28 161

原创 ZZULIOJ1183平面点排序(一)(结构体专题)

平面上有n个点,坐标均为整数。请按与坐标原点(0,0)距离的远近将所有点排序输出。可以自己写排序函数,也可以用qsort库函数排序。输入有两行,第一行是整数n(1<=n<=10),接下来有n行,每行一对整数(每对整数对应一个点)。输出排序后的所有点,格式为(u,v),每个点后有一个空格。测试数据保证每个点到原点的距离都不同。

2024-02-22 22:14:08 152

原创 ZZULIOJ1185添加记录(结构体专题)

有一学生成绩表,包括学号、姓名、3门课程成绩。请编程实现,添加一个新的学生信息,且使成绩表仍按学号有序;若待添加的学号与已有学号重复,则输出错误信息,拒绝添加。然后输入n行,每行包含一个学生的信息:学号(12位)、姓名(不含空格且不超过20位),以及3个整数,表示3门课成绩,数据之间用空格隔开。否则,输出n+1行,即添加后的成绩单信息。总结:这个有更简单的思路,可以用链表,我们用两个指针寻找第一个大于插入的序号的节点插入数据就可以了。最后一行输入一个待添加的学生信息,包括学号、姓名和3门课成绩。

2024-02-22 22:10:09 350

原创 ZZULIOJ1186删除记录(结构体专题)

然后输入n行,每行包含一个学生的信息:学号(12位)、姓名(不含空格且不超过20位),以及3个整数,表示3门课成绩,数据之间用空格隔开。有一学生成绩表,包括学号、姓名、3门课程成绩。请实现如下删除功能:输入一个学生的学号,删除该学生的所有信息。若要删除的学号不存在,则输出“error!否则,输出删除该学生后的所有记录。首先输入一个整数n(1<=n<=100),表示学生人数;最后一行输入一个学号num。

2024-02-22 20:44:02 215

原创 ZZULIOJ1187棒棒糖(结构体专题)

新年快到了,计算机学院新年晚会正在筹备中,今年有一个新创意:来参加晚会的所有学生都有礼物(一根棒棒糖)。老师把买棒棒糖的任务交给小明了,并指定了要买的棒棒糖的品牌和品种。小明来到了商店,看了各个店铺里这种棒棒糖的价格,不仅如此,他还记住了每个店铺的存货量。接下来m行,每行两个数,表示该店铺中棒棒糖的价格和数量,价格为一实数(最多两位小数),数量为一整数。总结:这道题是背包问题很基础的类型hhh,当初看到的时候我吓一跳如果真让我找最大利益或者有关容积一类的题的话真得想想了(#_<-)

2024-02-22 17:48:20 148

原创 ZZULIOJ1189选票统计(二)(结构体专题)

本次投票将采用电脑统计选票的方式,当投票选举正式开始后,同学们将排队一一走到电脑前,投上自己神圣的一票:在电脑前输入一个姓名,然后输入回车表示确认。输入包含多行,每行是一个由小写英文字母组成的字符串,表示一个姓名,遇到#时表示输入结束。你可以假定,参加投票学生的人数不超过500人,每个学生姓名字符串的长度小于20。当所同学投票结束,工作人员只需要输入一个”#”并回车确认,表示投票结束,电脑立即显示出得票最高的同学姓名,该同学将当选为新一届计算机与通信工程学院学生会主席。

2024-02-22 17:42:02 100

原创 ZZULIOJ1188选票统计(一)(结构体专题)

某单位进行选举,有5位候选人:zhang、wang、zhao、liu、miao。编写程序,统计每人所得的票数。要求每人的信息里包括两部分:name和votes,分别描述姓名和所得票数。每个人的信息用一个结构体来表示,5个人的信息使用结构体数组。输出5行,按zhang、wang、zhao、liu、miao的顺序输出5个候选人的姓名和所得票数,用空格隔开。首先输入一个整数n,表示一张选票,接下来n行,每行是一个由小写英文字母组成的字符串,表示以上5个候选人之一。

2024-02-22 17:28:29 125

原创 ZZULIOJ1190按出生日期排序(结构体专题)

送人玫瑰手有余香,小明希望自己能带给他人快乐,于是小明在每个好友生日的时候发去一份生日祝福。小明希望将自己的通讯录按好友的生日排序,这样就查看起来方便多了,也避免错过好友的生日。输入n个好友的信息,按生日的月份和日期升序输出所有好友信息。首先输入一个整数n(1<=n<=10),表示好友人数,然后输入n行,每行包含一个好友的信息:姓名(不超过20位),以及三个整数,分别表示出生日期的年月日。按过生日的先后(月份和日期)输出所有好友的姓名和出生日期,用空格隔开,出生日期的输出格式见输出样例。

2024-02-22 17:15:22 199

原创 ZZULIOJ1192奖学金(结构体专题)

接下来的n行,每行是一位学生的数据,从左向右依次是姓名,期末平均成绩,班级评议成绩,是否是学生干部,是否是西部省份学生,以及发表的论文数。例:某生,期末平均成绩87,班级评议成绩82,且是学生干部,则可同时获得梨洲奖学金和班级贡献奖,奖金总数4850。输出包括三行,第一行是获得最多奖金的学生的姓名,第二行是这名学生获得的奖金总数。如果有两位或两位以上的学生获得的奖金最多,输出他们之中在输入文件中出现最早的学生的姓名。2.梨洲奖学金,每人4000,期末平均成绩>85,且班级评议成绩>80;

2024-02-22 17:06:04 327

原创 ZZULIOJ1193单科成绩排序(结构体专题)

请按要求排序输出:若输入1,则按第1门课成绩降序输出成绩表,若输入为i(1<=i<=3),则按第i门课成绩降序输出成绩表。然后输入n行,每行包含一个学生的信息:学号(12位)、姓名(不含空格且不超过20位),以及3个整数,表示3门课成绩,数据之间用空格隔开。方法二:这个方法可以较好的锻炼到我们对嵌套函数的理解,即通过三种不同的cmp进行排序,这个方法是通过一位大佬学到的,也是妙哉。最后一行输入一个整数i,表示要求按第i门课成绩降序排序输出,若该门课成绩相同,则按学号升序。

2024-02-22 17:02:58 154

原创 ZZULIOJ1194总成绩排序(结构体专题)

这道题与一个需要注意的地方就是我们定义结构体变量的时候需要定义一个指针,于是我们才可以用malloc分配动态内存,且scanf存储数据的时候&的有无是针对结构体内部的数据进行的,比如name和no是字符串那么就不需要取地址因为本身就代表一个地址,abc是int因此我们需要取地址进行输入。然后输入n行,每行包含一个学生的信息:学号(12位)、姓名(不含空格且不超过20位),以及3个整数,表示3门课成绩,数据之间用空格隔开。请按如下规则排序:按总成绩降序排序,若总成绩相同,则按姓名升序排序。

2024-02-22 14:10:50 325

原创 ZZULIOJ1195猴子选大王(结构体专题)

②这个我更改了循环里的条件为i<=m,这个时候我们读取到结尾的时候需要进行的操作是i==m的话,把i=0,而不能把这个i==m的判断放在j==n判断的前面,否则会对j==n里面i的更改产生影响。然后从1号猴子开始沿顺时针方向从1开始报数,报到m的猴子出局,再从刚出局猴子的下一个位置重新开始报数,如此重复,直至剩下一个猴子,它就是大王。而且就算改为i=1也不行,因为h==n这个操作不一直都会用的,所以安心的把这个i=0放在末尾即可。输入两个整数n和m,1<=m<=n<=100。

2024-02-21 21:05:59 459

原创 ZZULIOJ1196数星星(二)(结构体专题)

一天,小明坐在院子里数星星,Gardon就出了个难题给他,让他数数天上的星星最多有多少个是在同一条直线上的。天上的星星太多了,小明马上就看花了眼,你能写个程序来帮他计算么?首先输入一个整数N(N

2024-02-21 13:53:45 305

原创 ZZULIOJ1191数星星(结构体专题)

如果小明把他数过的星星的坐标都告诉你,你能否帮他进行排重处理(如果两个星星的坐标位置相同,则视为一个星星),计算出星星的个数。①比如我们需要存储很多数据但是有需要判断这个数据是否已经被存储过了,就可以用这个方法,即输入一个数据就对这个数据以前的数据进行遍历查看是否存储过,但是缺点可能是比较费时,不过目前我还掌握更为省时的方法hhh,等以后学到了加以补充。首先输入一个整数n(n<=300),接下来的n对整数,每对表示小明数过的一个星星的位置(星星的坐标在-10000到10000之间)。

2024-02-21 10:48:22 293

原创 ZZULIOJ1198考试排名(二)(结构体专题)

实时排名显然先按AC题数的多少排,多的在前,再按时间分的多少排,少的在前,如果凑巧前两者都相等,则按名字的字典序排,小的在前。每个学生占一行,输出名字(10个字符宽,左对齐),做出的题数(2个字符宽,右对齐)和时间分(4个字符宽,右对齐)。输入数据的第一行是考试题数n(1≤n≤12),每行数据描述一个学生的用户名(不多于10个字符的字串)以及对所有n道题的答题现状,其描述采用问题描述中的数量标记的格式,见上面的表格,提交次数总是小于100,AC所耗时间总是小于1000。参加考试的人数不超过100人。

2024-02-20 21:52:30 505

原创 ZZULIOJ1197考试排名(一)(结构体专题)

今天浙大研究生复试的上机考试跟传统笔试的打分规则相似,总共有n道题,每道题有对应分值,最后计算总成绩。现给定录取分数线,请你写程序找出最后通过分数线的考生,并将他们的成绩按降序打印。首先在第1行输出不低于分数线的考生人数n,随后n行按分数从高到低输出上线考生的考号与分数,其间用1空格分隔。第1行给出考生人数N ( 1

2024-02-20 20:54:17 160

原创 ZZULIOJ1199 在线判题(字符串)

判题系统需要把解题程序产生的输出文件和正确的输出文件进行比较,如果两个文件完全相同,则判题系统返回“Accepted”,否则,如果两个文件除了空白符(空格' ', 制表符'\t', 或 回车符'\n')之外其余内容都相同,则判题系统返回“Presentation Error”,否则判题系统返回“Wrong Answer”。每组输入有两部分:一个代表正确输出,一个代表用户的解题程序的输出。给定两个文件,一个代表正确输出,一个代表用户的解题程序的输出,你的任务是计算判题系统应该返回什么信息。

2024-02-20 20:30:30 255

原创 ZZULIOJ1200 数组的距离

已知元素从小到大排列的两个数组x[]和y[],请写出一个程序算出两个数组彼此之间差的绝对值中最小的一个,这叫做数组的距离。通过做这道题,我们可以得出一个较为粗暴的求两个数组中元素差值的绝对值最大值的一个方法,即通过。第一行为两个整数m, n(1≤m, n≤1000),分别代表数组f[], g[]的长度。我们可以通过比较每一次的x[i]和y[j]的大小让小的减去大的,而后进行min的判断。第二行有m个元素,为数组f[]。第三行有n个元素,为数组g[]。1200: 数组的距离。,一共要执行n*m次;

2024-02-20 17:50:56 204

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除