- 博客(93)
- 收藏
- 关注
原创 Linux 线程——信号量
题目:编写代码实现编写一个程序,开启三个线程,这三个线程的ID分别是A,B,C,每个线程将自己的ID在屏幕上打印10遍,要求输出必须按照ABC的顺序显示,如:ABCABCABC...
2023-12-07 22:19:19 350
原创 消息队列&共享内存&信号灯
key和semflg的设置与msgget() (创建消息队列)、shmget() (创建共享内存)中对应的参数设置方式是一致的,唯一不同的点在于参数nsems,设置信号量集合中信号量的个数。共享内存的原理是将一块实际的物理内存空间,分别映射到不同进程的虚拟地址空间上,这样进程只需要关注自己的虚拟地址即可,其访问的空间则为同一块空间。消息队列:消息队列子啊读取时可以按照消息的类型进行读取,实现消息随机查询,消息发送时,对消息进行封装,然后添加到队列末尾,消息接收时,则可以根据需求进行。
2023-12-03 23:30:25 211
原创 Linux 无名管道实现文件复制
这里用到一个pipe()函数,参数fd[2]为一个数组,用来保存函数返回的两个文件描述符,将fd[0]视为管道的读端,而fd[1]视为管道的写端。通过一个管道(假象)进行传输数据,但是这个管道的传输方式是单工(半双工)的,就是这个管道允许进行发送和接受数据,不过不能同时进行。fork创建父子进程 ,父进程得到一个返回值,这个返回值为子进程的ID(一定大于零的整数),子进程同样得到一个返回值但为零。(4)一次性操作,一旦管道中存在的数据被读取,管道将会清除被读取的数据。(5)大小固定,写满会阻塞。
2023-11-17 22:53:12 593
原创 Linux 访问系统日志文件
运行文件,如果daemon.log打开成功,同时会向系统日志写入信息消息“open daemon.log"①进入到管理员账户,如图二所示,linux的系统管理员应该都是叫Linux。然后执行访问系统日志命令。②同样进入到系统管理员账户Linux,然后设置你原本账户为管理员,以我的账户“han0117”为例。运行文件,如果打开成功,会向daemon.log中写入“This is a daemon“上述查看/tmp/daemon.log和打开系统日志文件均需在管理员权限下才能打开成功。
2023-11-17 12:07:04 486
原创 Linux 实现文件后半部分的复制
这道题的关键点就在于后一半怎么求,在经历了用 lseek(writed,0,SEEK_SET)求文件总长,用sizeof()函数求文件大小,strlen()函数求字符串长度等等等等N次尝试之后,意外发现了一种能达到效果且好用的方法:Struct stat 结构体。
2023-11-04 16:29:06 474
原创 Linux 系统调用IO口,利用光标偏移实现文件复制
用系统调用IO函数实现从一个文件读取最后2KB数据并复制到另一个文件中,源文件以只读方式打开,目标文件以只写的方式打开,若目标文件不存在,可以创建并设置初始值为0664,写出相应代码,要对出错情况有一定的处理,并能够让用户自行输入要复制的文件名。IO口即指Input和Outpot,常用的IO函数open() , close() , read() , write() ,lseek()。题目要求是最后2kb,但是2048太大了,我写的文件比较小,我就偏移个最后70,刚好是我文件最后一句话。刚好偏移最后一句话。
2023-10-29 12:53:23 293
原创 Linux 系统调用IO口,利用光标偏移实现文件复制
用系统调用IO函数实现从一个文件读取最后2KB数据并复制到另一个文件中,源文件以只读方式打开,目标文件以只写的方式打开,若目标文件不存在,可以创建并设置初始值为0664,写出相应代码,要对出错情况有一定的处理,并能够让用户自行输入要复制的文件名。IO口即指Input和Outpot,常用的IO函数open() , close() , read() , write() ,lseek()。题目要求是最后2kb,但是2048太大了,我写的文件比较小,我就偏移个最后70,刚好是我文件最后一句话。刚好偏移最后一句话。
2023-10-28 13:07:05 784 1
原创 Linux下程序(C语言)实现对文件的复制
这里我执行了两次的原因是第一次执行,文件只能输出到text.txt文件中,而无法从中获取内容,所以我执行了两次,第二次就可从该文件中取出然后复制到另一个文件。且我的输出text.txt文件为“a+”,即追加方式,不会覆盖原有内容。: 使用系统调用fopen打开文件,使用fgets()从文件读数据,使用fputs() 向文件写数据。我这里省略的有一些小细节,具体就不和大家演示了,希望大家多多尝试,勇于探索,找到你认为最适用的。当然有一种最直接的解决方法就是将fprintf()函数替换成fwrite(),
2023-10-18 14:27:51 1109
原创 proteus8.9安装包
基于我的proteus是8.9版本的,可能有很多人打不开我的普中51开发板仿真图,所以我把我的proteus安装包上传到资源里,大家有需要可以自取。
2023-06-21 15:29:40 149
原创 单片机DS1302实时时钟
这是根据Ds1302进行对当前时间读取并显示的代码。我对该寄存器进行一定的解释,所需代码我也放在下面了,以及51开发板的仿真文件也上传在资源里了,大家可以按需自取。
2023-06-21 15:13:12 1183
原创 判断密码强度(Python)
isalpha()函数可以判断字符串字符串中是否含有字母,若字符串中只包含字母,返回非零(小写字母为2,大写字母为1)。初始化密码强度strength_level1,2,3,4为0,每满足一个判断规则就记为1。def在python中用来定义函数,变量,类或模块,本文用来定义函数。isnumeric()函数可以判断字符串中是否含有数字,若数字或字符串中包含数字,返回True;首先要满足的条件是长度大于八,否则直接判定不合格,其他三类作为提醒并给出当前密码强度。用户设置密码后,判断密码强度是否合格。
2023-03-22 12:08:06 5860 3
原创 python下如何安装并使用matplotlib(画图模块)
python下如何安装并使用matplotlib(画图模块),详细安装过程及使用方法。点击 + 号,输入 matplotlib,点击 install package ,这样就可以在pycharm中添加画图模块。由于我已经安装过了,所以整体显示不太一样,但是具体下载内容就是红色区域选中部分。安装完成之后,就可以使用了,现在命令窗口输入。之后使用pip安装matplotlib。
2023-02-27 19:03:18 13534 1
原创 实验三 栈和队列及其应用
(4)根据教材介绍表达式求值的思想,设计并实现一个对简化表达式求值的系统。(2)实验完成后,提交电子档教师验收程序,并提交填写好的实验报告。由学生依据软件工程的测试技术自己确定。(3)求整数N的阶乘。递归问题转换为非递归实现;栈在不同存储结构上进行插入、删除等操作的算法。.掌握栈的顺序和链式存储结构与基本算法实现。(1)按实验内容编写完整的程序,并上机验证。.掌握栈在实际问题中的应用和基本编程技巧。.掌握栈的抽象数据类型描述及特点。(1)实现数据不同进制之间的转换;通过栈解决现实中的一些问题。
2022-10-26 15:03:52 807
原创 实验三 队列及其应用
设某银行有A、B两个业务窗口,其中A窗口的处理速度是B窗口的2倍,给定到达银行的顾客序号,请按业务完成的顺序输出顾客序列(假设奇数编号到A窗口办理,偶数编号到B窗口办理,不同窗口同时处理完2个顾客,A窗口优先输出)。(2)实验完成后,提交电子档教师验收程序,并提交填写好的实验报告。队列在不同存储结构上进行插入、删除等操作的算法。.掌握队列的顺序和链式存储结构与基本算法实现。.掌握队列在实际问题中的应用和基本编程技巧。(1)按实验内容编写完整的程序,并上机验证。.掌握队列的抽象数据类型描述及特点。
2022-10-26 14:59:57 608
原创 R6-1 小孩报数(顺序循环队列版)分数 10
typedef struct // 顺序循环队列结点定义{//小孩姓名//队首和队尾指针} SqQueue;//初始化队列;//销毁队列;//判定队列为空时返回true;否则返回false;// e 入队;成功入队返回true;否则返回false;//出队,返回出队元素e,且成功出队返回true,否则返回false;
2022-10-25 20:53:31 560
原创 6-4 两个有序链表序列的合并
其中List/* 存储结点数据 *//* 指向下一个结点的指针 */};/* 定义单链表类型 */L1和L2是给定的带头结点的单链表,其结点存储的数据是递增有序的;函数Merge要将L1和L2合并为一个非递减的整数序列。应直接使用原序列中的结点,返回归并后的带头结点的链表头指针。
2022-10-10 21:29:13 354
原创 6-5 求链表的倒数第m个元素
其中List结构定义如下:/* 存储结点数据 *//* 指向下一个结点的指针 */};/* 定义单链表类型 */L是给定的带头结点的单链表;函数Find要将L的倒数第m个元素返回,并不改变原链表。如果这样的元素不存在,则返回一个错误标志ERROR。
2022-10-09 23:03:33 357
原创 6-1 带头结点的单链表就地逆置
本题要求编写函数实现带头结点的单链线性表的就地逆置操作函数。L是一个带头结点的单链表,函数ListReverse_L(LinkList &L)要求在不新开辟节点的前提下将单链表中的元素进行逆置,如原单链表元素依次为1,2,3,4,则逆置后为4,3,2,1。
2022-10-09 20:18:59 399
原创 单链表的基础操作
.熟练掌握在链式存储结构上进行插入、删除等操作的算法。链式存储结构上进行插入、删除等操作的算法。.通过线性表结构解决现实中的一些问题。通过线性表结构解决现实中的一些问题。.深入了解线性表的链式存储结构。线性表的链式存储结构。
2022-10-05 14:14:40 208
原创 L2-1 简单计算器
本题要求你为初学数据结构的小伙伴设计一款简单的利用堆栈执行的计算器。如上图所示,计算器由两个堆栈组成,一个堆栈 S1 存放数字,另一个堆栈 S2 存放运算符。直到两个堆栈都为空时,计算结束,最后的结果将显示在屏幕上。
2022-09-27 09:53:21 287
原创 R6-1 线性表元素的区间删除
其中List结构定义如下:/* 保存线性表中最后一个元素的位置 */ };L是用户传入的一个线性表,其中元素可以通过>、==、
2022-09-27 00:29:50 503
原创 数据结构顺序表
(3)对建好的顺序表实现查找、插入、删除等操作,并把程序执行结果显示到屏幕上。.熟练掌握在顺序存储结构上进行插入、删除等操作的算法。顺序存储结构上进行插入、删除等操作的算法。(2)输入若干个元素,并在屏幕上输出显示。.通过线性表结构解决现实中的一些问题。通过线性表结构解决现实中的一些问题。.深入了解线性表的顺序存储结构。(1)设计一个选择菜单。线性表的顺序存储结构。4.查找元素(按位)5.元素查找(按值)顺序表的创建与初始化。
2022-09-23 21:34:32 239
原创 L1-7 前世档案
网络世界中时常会遇到这类滑稽的算命小程序,实现原理很简单,随便设计几个问题,根据玩家对每个问题的回答选择一条判断树中的路径(如下图所示),结论就是路径终点对应的那个结点。现在我们把结论从左到右顺序编号,编号从1开始。这里假设回答都是简单的“是”或“否”,又假设回答“是”对应向左的路径,回答“否”对应向右的路径。给定玩家的一系列回答,请你返回其得到的结论的编号。...
2022-07-20 20:06:58 90
原创 L1-6 吃火锅
以上图片来自微信朋友圈这种天气你有什么破事打电话给我基本没用。但是如果你说“吃火锅”,那就厉害了,我们的故事就开始了。本题要求你实现一个程序,自动检查你朋友给你发来的信息里有没有。...
2022-07-20 18:37:18 111
原创 7-39 jmu-Java&Python-统计一段文字中的单词个数并按单词的字母顺序排序后输出
现需要统计若干段文字(英文)中的不同单词数量。如果不同的单词数量不超过10个,则将所有单词输出(按字母顺序),否则输出前10个单词。注1:单词之间以空格(1个或多个空格)为间隔。注2:忽略空行或者空格行。注3:单词大小写敏感,即'word'与'WORD'是两个不同的单词 。若干行英文,最后以为结束。不同单词数量。然后输出前10个单词(按字母顺序),如果所有单词不超过10个,则将所有的单词输出。输出样例代码长度限制16 KB时间限制400 ms内存限制64 MB思路:这道题呢大概分有几
2022-06-14 21:26:16 1321
原创 7-14 分而治之
分而治之,各个击破是兵家常用的策略之一。在战争中,我们希望首先攻下敌方的部分城市,使其剩余的城市变成孤立无援,然后再分头各个击破。为此参谋部提供了若干打击方案。本题就请你编写程序,判断每个方案的可行性。输入在第一行给出两个正整数 N 和 M(均不超过10 000),分别为敌方城市个数(于是默认城市从 1 到 N 编号)和连接两城市的通路条数。随后 M 行,每行给出一条通路所连接的两个城市的编号,其间以一个空格分隔。在城市信息之后给出参谋部的系列方案,即一个正整数 K (≤ 100)和随后的 K 行方案,每行
2022-06-13 18:38:23 113
原创 7-13 猜数字
一群人坐在一起,每人猜一个 100 以内的数,谁的数字最接近大家平均数的一半就赢。本题就要求你找出其中的赢家。输入在第一行给出一个正整数N(≤104)。随后 N 行,每行给出一个玩家的名字(由不超过8个英文字母组成的字符串)和其猜的正整数(≤ 100)。在一行中顺序输出:大家平均数的一半(只输出整数部分)、赢家的名字,其间以空格分隔。题目保证赢家是唯一的。输出样例:代码长度限制16 KB时间限制400 ms内存限制64 MB思路:先输入所有的数据,然后求其平均值的一半,哪个数据与平均值的一半
2022-06-13 16:46:40 191
原创 7-37 字符串替换分数 10
将文本文件中指定的字符串替换成新字符串。由于目前的OJ系统暂时不能支持用户读入文件,我们编写程序从键盘输入文件中的内容,当输入的一行为end时,表示结束。end后面有两个字符串,要求用第二个字符串替换文本中所有的第一个字符串。Xi’an Institute of Posts and Telecommunications is co-designed and implemented by the People’s Government of Shaanxi Province and the Ministry
2022-06-12 12:45:30 346
原创 7-31 求一批整数中出现最多的个位数字
给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。输入在第1行中给出正整数N(≤1000),在第二行中给出N个不超过整型范围的非负整数,数字间以空格分隔。在一行中按格式“M: n1 n2 ...”输出,其中M是最大次数,n1、n2、……为出现次数最多的个位数字,按从小到大的顺序排列。数字间以空格分隔,但末尾不得有多余空格。输出样例:代码长度限制16 KB时间限制400 ms内存限制64
2022-06-11 21:53:09 343
原创 7-32 打印杨辉三角
本题要求按照规定格式打印前N行杨辉三角。输入在一行中给出N(1≤N≤10)。以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。输出样例:代码长度限制16 KB时间限制400 ms内存限制64 MB思路:所谓的杨辉三角形其实就是一个二维数组,经过变换得到的形式,未变换之前打印出来应该是这个样子首先要做的就是通过规律先打印成这个样子(主对角线和第一列均为1,其他元素的值为上行同列的元素与上行上列的元素的和)然后呢,就只需要给每一行添加空格即可,通过观察,可以发现从第一行开始往下一行空格数依
2022-06-11 21:25:55 277
原创 7-23 找出最小值分数 10
本题要求编写程序,找出给定一系列整数中的最小值。输入在一行中首先给出一个正整数n,之后是n个整数,其间以空格分隔。在一行中按照“min = 最小值”的格式输出n个整数中的最小值。输出样例:代码长度限制16 KB时间限制400 ms内存限制64 MB一种简单又简洁的方法,只需要借用一下sort就可以了 ,代码如下:...
2022-06-09 10:54:17 379
原创 7-16 设计一个类CRectangle
设计一个类CRectangle,要求如下所述:(1) 该类中的私有成员变量存放CRectangle的长和宽,并且设置它们的默认值为1.(2) 通过成员函数设置其长和宽,并确保长和宽都在(0,50)范围之内。(3) 求周长Perimeter输入在一行中给出2个绝对值不超过50的浮点数A和B。在一行中输出周长的值。在这里给出一组输入。例如:输出样例:在这里给出相应的输出。例如:代码长度限制100 KB时间限制400 ms内存限制64 MB这道题本身没有什么难度,问题就在一定要加长和宽范围的
2022-06-09 10:02:30 2003
原创 7-16 输出三角形面积和周长分数 10
本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:area=s(s−a)(s−b)(s−c),其中s=(a+b+c)/2。输入为3个正整数,分别代表三角形的3条边a、b、c。如果输入的边能构成一个三角形,则在一行内,按照的格式输出,保留两位小数。否则,输出输入样例1:输出样例1:输入样例2:输出样例2:代码长度限制16 KB时间限制400 ms内存限制64 MB
2022-06-04 22:26:09 425
原创 7-5 类、Map分数 10
求和Map:计并实现一个MyMap类,要求至少含有以下两种方法一、insert方法:将一对(字符串,整数)的键值建立映射,若键已存在,则进行覆盖。二、sum方法:输入一个前缀字符串,输出以该前缀开头的键值总和输入格式:第一行输入一个N,表示接下来要操作的数量随后N行表示操作:insert方法后跟字符串与整数,通过空格隔开sum方法后跟字符串,通过空格隔开说明:假设不包含其他无效输入样例:">样例:">样例:">样例:">样例:">样例:"&g
2022-05-31 19:24:15 521
原创 7-11 成员函数的选择调用一一常成员函数分数 15
类中的常对象选择调用常成员函数。语法要点: 如果将一个对象说明为常对象,则通过该常对象只能调用它的常成员函数,而不能调用其他成员函数。补充完整复数类的定义(复数类Complex,数据成员:构造函数,以常成员函数重载的输出函数。数据成员有实部与虚部)使得程序的输出结果符合题意的输出结果。class Complex{ public:/补充完整类的定义/ /***********************************/private:int Real,Imag;};
2022-05-30 22:47:05 247
原创 7-14 定义一个时间类Time分数 15
本题目要求定义一个类Time,实现相关的成员函数的定义:class Time{private:int days;int hours;int minutes;public:Time(int d,int h, int m );Time Sum(const Time & t);void Show() const;};在main()函数中从键盘读入6个整数值分别为2个类Time对象赋值,然后输出2个Time对象的和。输入格式:输入,在一行中给出两组整数(每组3个,含义为:日、
2022-05-29 23:55:01 1635
原创 7-8 连续因子
一个正整数N的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。输入格式:输入在一行中给出一个正整数N(1<N<231)。输出格式:首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按因子1*因子2*……*因子k的格式输出最小的连续因子序列,其中因子按递增顺序输出,1 不算在内。输入样例:630输出样例...
2022-05-26 16:24:41 90
原创 6-7 鸭子也是鸟分数 10
按要求完成下面的程序:1、定义一个Bird类,包含一个void类型的无参的speak方法,输出“Jiu-Jiu-Jiu”。2、定义一个Duck类,公有继承自Bird类,其成员包括:(1)私有string类型的成员name;(2)带参数的构造函数,用指定形参对私有数据成员进行初始化;(3)公有的成员函数printName,无形参,void类型,功能是输出成员name的值,具体输出格式参见main函数和样例输出。裁判测试程序样例:#include <iostream>#incl
2022-05-20 17:19:07 1960
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人