- 博客(130)
- 收藏
- 关注
原创 网络通信 四、基于TCP协议的网络聊天室 线程实现pthread+实现代码
服务端实现代码:#include <stdio.h>#include <string.h>#include <unistd.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet....
2019-09-14 13:36:39
156
原创 网络通信 三、基于UDP协议的C/S模型+代码实现
用到的函数:其他通用函数在我的这篇博客中https://blog.csdn.net/weixin_45393375/article/details/100806552#include <sys/types.h>#include <sys/socket.h>ssize_t sendto(int sockfd, void *buf, size_t len, ...
2019-09-14 10:39:17
441
原创 网络通信 二、基于TCP协议的C/S模型+代码实现
用到的函数:其他函数在我的这篇博客中https://blog.csdn.net/weixin_45393375/article/details/100806552#include <sys/types.h>#include <sys/socket.h>int listen(int sockfd, int backlog);功能:设置等待...
2019-09-13 17:27:15
303
原创 网络通信 一、本地通信编程模型+代码实现
本地通信编程模型: 进程A 进程B 创建套接字(AF_LOCAL) 创建套接字(AF_LOCAL) 准备地址(sockadd_un) 准备地址(sockad...
2019-09-13 17:21:17
327
原创 进程通信 二、XSI进程间通信之信号量
内核维护的计数器,用于管理多进程之间共享资源。例如:有个变量n表示资源的数量,当有个进程想要独占一个资源时,n的值要减1(可能减多个),如果n的值等于0(不够减),则进程阻塞,直到n的值可以减会被再次唤醒,当资源使用完毕后n要加1(可能加多个)。用到的函数:#include <sys/types.h>#include <sys/ipc.h>#includ...
2019-09-13 17:14:23
134
原创 进程通信 二、XSI进程间通信之消息队列
由内核负责管理的一个管道,可以按顺序发送消息包(消息类型+消息内容),可以全双工工作。可以不按消息的顺序接收消息用到的函数 #include <sys/types.h> #include <sys/ipc.h> #include <sys/msg.h>Int msgget(key_t key, int msgflg); ...
2019-09-13 17:11:01
144
原创 进程通信 二、XSI进程间通信之共享内存
共享内存是内核中开辟一块内存由IPC对象进行管理,进程A、B都用纸自己的虚拟地址与之映射,这样就达到了共享同一块内存。特点: 优点:不需要复制信息,是最快的一种进程间通信机制。 缺点:需要考虑同步问题(必须借助其他机制,如信号)***编程模型*** 进程A 进程B生成IPC键值 ftok 生成IPC键值 ftok创建共享内存 shmget...
2019-09-11 11:28:48
265
原创 进程间通信 一、传统进程间通信(管道通信)
管道是UNIX系统最古老的的进程间通信方式(基本不再使用),历史上的管道通常是半双工(只允许单项数据流动),现在的系统大都可以全双工(数据可以双向流动)管道可分为无名管道和有名管道两种;接下来将用代码的形式介绍两种管道实现进程间的通信。一、 有名管道 命令:mkfifo 函数: #include <sys/types.h> #include <sys/stat.h&g...
2019-09-11 09:16:03
312
2
原创 PAT 1001 A+B Format C++实现 解题思路分析
Calculatea+band output the sum in standard format -- that is, the digits must be separated into groups of three by commas (unless there are less than four digits).Input Specification:Each input ...
2019-09-02 20:20:09
116
原创 PAT 1095 解码PAT准考证 C语言实现 解题思路
PAT 准考证号由 4 部分组成:第 1 位是级别,即T代表顶级;A代表甲级;B代表乙级; 第 2~4 位是考场编号,范围从 101 到 999; 第 5~10 位是考试日期,格式为年、月、日顺次各占 2 位; 最后 11~13 位是考生编号,范围从 000 到 999。现给定一系列考生的准考证号和他们的成绩,请你按照要求输出各种统计信息。输入格式:输入首先在一行中给出...
2019-09-02 08:38:50
190
原创 PAT 1094 谷歌的招聘 C语言实现
2004 年 7 月,谷歌在硅谷的 101 号公路边竖立了一块巨大的广告牌(如下图)用于招聘。内容超级简单,就是一个以 .com 结尾的网址,而前面的网址是一个 10 位素数,这个素数是自然常数 e 中最早出现的 10 位连续数字。能找出这个素数的人,就可以通过访问谷歌的这个网站进入招聘流程的下一步。自然常数 e 是一个著名的超越数,前面若干位写出来是这样的:e = 2.718281828...
2019-09-02 08:31:20
447
原创 PAT 1093 字符串A+B C语言实现 易错点分析
给定两个字符串A和B,本题要求你输出A+B,即两个字符串的并集。要求先输出A,再输出B,但重复的字符必须被剔除。输入格式:输入在两行中分别给出A和B,均为长度不超过106的、由可见 ASCII 字符 (即码值为32~126)和空格组成的、由回车标识结束的非空字符串。输出格式:在一行中输出题面要求的A和B的和。输入样例:This is a ...
2019-09-02 08:27:03
413
1
原创 PAT 1092 最好吃的月饼 C语言实现
月饼是久负盛名的中国传统糕点之一,自唐朝以来,已经发展出几百品种。若想评比出一种“最好吃”的月饼,那势必在吃货界引发一场腥风血雨…… 在这里我们用数字说话,给出全国各地各种月饼的销量,要求你从中找出销量冠军,认定为最好吃的月饼。输入格式:输入首先给出两个正整数N(≤1000)和M(≤100),分别为月饼的种类数(于是默认月饼种类从 1 到N编号)和参与统计的城市数量。接...
2019-09-02 08:23:45
217
原创 PAT 1091 N-自守数 C语言实现
如果某个数K的平方乘以N以后,结果的末尾几位数等于K,那么就称这个数为“N-自守数”。例如3×922=25392,而25392的末尾两位正好是92,所以92是一个3-自守数。本题就请你编写程序判断一个给定的数字是否关于某个N是N-自守数。输入格式:输入在第一行中给出正整数M(≤20),随后一行给出M个待检测的、不超过 1000 的正整数。输...
2019-09-02 08:22:49
283
原创 PAT 1090 危险品装箱 C++实现 解题思路
集装箱运输货物时,我们必须特别小心,不能把不相容的货物装在一只箱子里。比如氧化剂绝对不能跟易燃液体同箱,否则很容易造成爆炸。本题给定一张不相容物品的清单,需要你检查每一张集装箱货品清单,判断它们是否能装在同一只箱子里。输入格式:输入第一行给出两个正整数:N(≤104) 是成对的不相容物品的对数;M(≤100) 是集装箱货品清单的单数。随后数据分两大块给出。第一块有N行...
2019-09-01 20:21:53
199
原创 PAT 1089 狼人杀-简单版 C++实现 解题思路
以下文字摘自《灵机一动·好玩的数学》:“狼人杀”游戏分为狼人、好人两大阵营。在一局“狼人杀”游戏中,1 号玩家说:“2 号是狼人”,2 号玩家说:“3 号是好人”,3 号玩家说:“4 号是狼人”,4 号玩家说:“5 号是好人”,5 号玩家说:“4 号是好人”。已知这 5 名玩家中有 2 人扮演狼人角色,有 2 人说的不是实话,有狼人撒谎但并不是所有狼人都在撒谎。扮演狼人角色的是哪两号玩家?本题...
2019-09-01 20:14:55
463
原创 PAT 1088 三人行 C语言实现
子曰:“三人行,必有我师焉。择其善者而从之,其不善者而改之。”本题给定甲、乙、丙三个人的能力值关系为:甲的能力值确定是 2 位正整数;把甲的能力值的 2 个数字调换位置就是乙的能力值;甲乙两人能力差是丙的能力值的 X 倍;乙的能力值是丙的 Y 倍。请你指出谁比你强应“从之”,谁比你弱应“改之”。输入格式:输入在一行中给出三个数,依次为:M(你自己的能力值)、X 和 Y。三个数字均为不超...
2019-09-01 20:05:35
209
原创 PAT 1087 有多少不同的值 C语言实现
当自然数n依次取 1、2、3、……、N时,算式⌊n/2⌋+⌊n/3⌋+⌊n/5⌋有多少个不同的值?(注:⌊x⌋为取整函数,表示不超过x的最大自然数,即x的整数部分。)输入格式:输入给出一个正整数N(2≤N≤104)。输出格式:在一行中输出题面中算式取到的不同值的个数。输入样例:2017输出样例:1480#include<...
2019-09-01 20:03:53
97
原创 PAT 1086 就不告诉你 C语言实现
做作业的时候,邻座的小盆友问你:“五乘以七等于多少?”你应该不失礼貌地围笑着告诉他:“五十三。”本题就要求你,对任何一对给定的正整数,倒着输出它们的乘积。输入格式:输入在第一行给出两个不超过 1000 的正整数 A 和 B,其间以空格分隔。输出格式:在一行中倒着输出 A 和 B 的乘积。输入样例:5 7输出样例:53#include<st...
2019-09-01 20:02:44
305
原创 PAT 1085单位排行 C++实现 思路分析 解题技巧 最后一个测试点分析
每次 PAT 考试结束后,考试中心都会发布一个考生单位排行榜。本题就请你实现这个功能。输入格式:输入第一行给出一个正整数 N(≤105),即考生人数。随后 N 行,每行按下列格式给出一个考生的信息:准考证号 得分 学校其中准考证号是由 6 个字符组成的字符串,其首字母表示考试的级别:B代表乙级,A代表甲级,T代表顶级;得分是 [0, 100] 区间内的整数;学校是由不超...
2019-09-01 20:00:20
315
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人