- 博客(61)
- 资源 (4)
- 收藏
- 关注
原创 基于SOCKET编程多人聊天软件HTML+JSON报文
基于socket实现通信,开启一个端口进行监听,当有用户连接,则建立TCP连接,并且保存连接。建立多线程,当有客户端发送消息则对HTTP报文进行处理,并发送响应报文。传输的消息格式为HTTP,正文采用URL+JSON方式。客户端和服务器对传输的HTTP报文提取指令,并做出反馈。实现的编程语言为C#,用到socket编程,C#图形界面,多线程,HTTP协议,以及JSON报文。...
2022-06-24 01:07:51
2569
1
原创 MATLAB粒子群优化算法实现(PSO)
MATLAB粒子群优化算法实现(PSO)这里我采用的是结构体,这样处理更清晰Matlab结构体的使用如下每个个体pop的属性有速度v位置x个体最优位置pbest (pop个体)个体适应度f全局最优个体gbest(pop个体)其他参数的定义算法流程代码:%% ------初始格式化-------------clearclc;format long;%% ------给定初始化条件---------c1=2; %学习因子1c2=2;
2022-03-10 17:15:59
2077
原创 小老鼠历险记Cocos Creator
1.设计思路突发奇想设计一个游戏,游戏名是《小老鼠历险记》,设计思路是一只可怜的小老鼠,他的敌人是猫和狗,它的活动区间只能是他的窝窝附近,不时还有猫猫和狗狗想吃它,所以小老鼠要走位躲过他们的偷袭,然而因为狗狗还是比较喜欢是骨头,所以和老鼠达成一个协议,可以用一个骨头换帮我对付一只猫,如果我没有骨头,狗狗就把我吃了,所以我一边要躲他们,一边收集骨头和狗一起攻击猫,玩家操纵小老鼠,让小老鼠生存下去。2.结果展示3. 实现逻辑3.1 操控小老鼠小老鼠的操控方式为键盘操控,分别为w->向上
2022-02-11 16:24:09
3276
原创 微信小游戏飞机大战Cocos Creator+TypeScript
微信小游戏飞机大战- 实现工具: Cocos Creator + VSCode- 游戏预览:- 实现原理:1. 背景移动实现飞机飞行的方法不是让飞机往前跑,而是通过后移背景图片,使得产生飞机向前跑的视觉效果。这里设置两个一样的背景图,为了同时控制两个背景图,所以放在一个节点下面,将背景控制的脚本加载在背景节点上。通过this.node.children获得两个背景图,在update(dt)中移动两个背景图, 考虑到越界问题,当背景超过下界的时候,将图片下界向上移动到Canvas上端,从而实
2022-01-23 10:53:23
8283
2
原创 CCF201503-2数字排序
#include <iostream>#include <algorithm>#include <vector>using namespace std;struct Num { int value; int count;};bool Mycmp(Num n1, Num n2) { if (n1.count > n2.count) { return true; } else if (n1.count == n2.count&&..
2021-12-01 13:04:09
483
原创 蓝桥杯 试题 基础练习 杨辉三角形
资源限制时间限制:1.0s 内存限制:256.0MB问题描述杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。下面给出了杨辉三角形的前4行:11 11 2 11 3 3 1给出n,输出它的前n行。输入格式输入包含一个数n。输出格式输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。请不要在前面输出多余的空格。样例输入4样例输出11 11 2 1
2021-11-22 19:13:22
854
原创 蓝桥杯 试题 基础练习 十六进制转八进制
资源限制时间限制:1.0s 内存限制:512.0MB问题描述给定n个十六进制正整数,输出它们对应的八进制数。输入格式输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式输出n行,每行为输入对应的八进制正整数。【注意】 输入的十六进制数不会有前导0,比如012A。 输出的八进制数也不能有前导0。样例输入2 39 123ABC样
2021-11-22 19:01:17
384
原创 c++ string.h库函数的使用
#include <string.h>#include <stdio.h>//不带参数的比较void Cmp(char s1[], char s2[]) { if (strcmp(s1, s2) > 0) { printf("s1>s2\n"); } else if (strcmp(s1, s2) < 0) { printf("s1<s2\n"); } else { printf("s1=s2\n"); }}//前n个字.
2021-04-14 22:19:52
771
原创 C++ ctype.h库函数的使用
使用举例#include <stdio.h>#include <ctype.h>//判断是否为英语字母或数字字符void IsAlNum(char c) { if (isalnum(c)) { printf("是英语字母或数字字符\n"); if (isalpha(c)) { printf("英语字母\n"); if (islower(c)) { printf("小写英语字母\n"); } else if (isupper(c)).
2021-04-14 21:20:03
309
原创 Java之JDBC编程基本功能的实现
Java之JDBC编程基本功能的实现如何连接数据库如何对数据库进行基本的增删改查连接数据库以连接Mysql为例一开始我尝试了直接用IDEA连接数据库,运行了一下代码但是说没有对应的包,经过网上查资料发现最后还是要把jar包导入到项目,后来直接导入了包,发现连接上了数据库,关了IDEA的数据库还是可以连接上,所以连接Mysql只要导入jar包就行了。Java 连接 MySQL 需要驱动包,最新版下载地址为:http://dev.mysql.com/downloads/connector/j/
2021-02-18 23:22:38
289
原创 Java 窗口GUI编程之AWT事件处理
Java 窗口GUI编程之AWT事件处理实现事件接口功能implements WindowListener()可以单独写一个实现接口的类,也可以通过匿名类实现接口如class T implements MouseListenerbut.addMouseListener(new T());class T implements MouseListener { @Override public void mouseClicked(MouseEvent e) { .
2021-02-17 23:14:31
189
原创 Java文件的基本操作代码
代码:import com.sun.beans.editors.ByteEditor;import java.io.*;import java.util.Scanner;class Test{ private static String filename; private static File f; Test(String filename){ this.filename=filename; } static void open(){
2021-02-17 19:54:39
129
原创 C++实现顺序栈
#include <iostream>#include <cstdlib>using namespace std;#define MAXSIZE 50//数据类型 struct ElemType{ int n;};//栈结点结构体 typedef struct{ ElemType data[MAXSIZE]; int top;//栈顶 }SqStack;class Sq_Stack{public: //初始化 Sq_Stack(){ c
2021-01-22 23:14:07
224
原创 C++实现单链表
单链表的定义data 存放数据域,next为指针域带有头结点的单链表单链表的基本操作1.采用头插法建立单链表2.采用尾插法建立单链表3.插入结点操作4.删除结点操作C++代码实现#include <iostream>#include <cstdlib>using namespace std;//数据类型 typedef struct{ int x;}ElemType; //结点结构体 typedef struct LNode{ El
2021-01-22 11:44:37
170
原创 线性表之顺序表的实现
#include <iostream>using namespace std;// 顺序表的结构体#define MAXSIZE 50// 数据元素结构体typedef struct { int x;}ElemType; // 静态顺序表 typedef struct { ElemType data[MAXSIZE];//数据 int length;//数据大小 }SqList; class MySqList{public: MySqList(){
2021-01-16 14:36:12
154
原创 Java图形用户界面设计音乐播放器
Java图形用户界面设计音乐播放器设计思路音乐播放器的基础是可以播放音乐,所以要有一个实现播放音乐功能的类audioplay,图形界面就是通过动作调用audioplay里面的函数。关于实现播放器图形界面的步骤是,先设计好软件界面,再去添加监听器,实现播放,暂停,上一首,下一首,循环播放,导入音乐,播放音乐等功能。我参考的是QQ音乐的软件界面,实现音乐播放的基本功能,并添加新功能。实现界面:实现步骤- 设计一个完整的播放器界面,并添加按钮响应播放器界面的背景用的是QQ音乐的背景需要的控件有
2021-01-16 11:38:48
7333
13
原创 kmeans聚类(Matlab实现)
kmean算法代码function [Idx,C,D]=my_kmeans(X,c)%%k-均值分类%输入:X样本集 c聚类簇数%输出:Idx聚类标志 C聚类中心 D每个点到质心的聚类[m,n]=size(X);%样本数m,样本维数%从X中随机选择选择c个样本作为初始向量center = X(ceil(rand(c,1)*m),:);%产生随机数[0~1],并放大至[0~m],用ceil向上取整数,使产生c个[1~m]的随机整数k=0while 1 k=k+1%%计算样本
2021-01-09 20:59:45
2224
1
原创 九宫格游戏(java实现)
代码思路:创建了一个九宫格按钮类(继承了JButton),定义了一个九宫格类,先随机生成8个数,用网格排版放入9个格子,然后在游戏创建了3x3的矩阵用于存储状态,再对每个按键加监听器,当按下去时判断能否移动,能移动则交换空格和这个按钮的名字,每次按下去判断是否从1-8排布,判断是否赢。由于随机生成的排序,所以没有考虑到无解的情况。如果要使有解,可以对于12345678这样的排列,逆序对为0,因此为偶排列,我们对其中的任意两个数进行交换一次,奇偶性对调,变成奇排列,再交换一次又变成偶排列,因此你可以初始化
2020-10-29 02:43:41
2871
2
原创 MATLAB画图
1.创建图形窗口创建单个窗口figure,figure(n)2. 创建多重子图窗口subplot(m,n,p)将窗口分为mxn个子图窗口,其中m为子图行数,n为子图列数,p为子图序号。x=-3:0.01:3;>> y1=sin(x);>> y2=sin(2*x);>> y3=sin(3*x);>> y4=sin(4*x);>> subplot(2,2,1);plot(x,y1);>> subplot(2,2
2020-10-27 01:11:34
218
原创 数字电子钟设计(基于quartus软件)
摘要可编程逻辑程序设计数字电子钟,利用设计电路quartus软件和Altera MAXII EPM240芯片,实现时钟的基本功能,设计一个有时,分,秒的电子钟,实现整点报警,设置时间和闹铃功能等。1 概述数字电子钟主要用到74193计数器芯片,74194寄存器,7485芯片,7448芯片等。实现时分秒的设置,主要用到6片74193计数器芯片,对秒钟,分钟的低位进行模10运算,高位进行模6运算。实现该功能的方法是判断74193芯片的输出端是否为N,如果为N则清零并产生进位信号,从而实现模N的功能。对于时
2020-10-27 00:51:45
20196
26
原创 单周期单级中断CPU
1.控制信号生成电路2.PC来源3. 中断控制电路R1,R2,R3:来自于按键W1,W2,W3:接指示灯ERET:来自控制器电路产生INT,EPCADDR,INTADDR:送 PC转移地址选择RETADDR:来自PC转移地址选择整体电路
2020-10-27 00:32:43
7085
12
原创 数值微分法DDA
程序:#include <iostream>#include <cmath>using namespace std;/* P0(x0.y0) P1(x1,y1)*/void DAALine(int x0,int y0,int x1,int y1){ int dx=x1-x0;//△x int dy=y1-y0;//△y int x,y;//图坐标(x,y) double x_next,y_next; x_next=x=x0; y_next=y=y0..
2020-09-20 00:21:29
296
原创 C++实现扫雷游戏
头文件Mine_Sweep.h#include <iostream>#include <ctime>#include <cstdlib>#include <algorithm>#include <queue>#include <Windows.h>using namespace std;typedef pair<int, int> P;const int M = 10;const int N = 10;
2020-09-19 23:15:32
1026
1
原创 多周期MIPS(纯硬布线)Logisim
与之前的硬布线相比,纯硬布线只是改变了微指令控制器改变之前改变之后为了实现用硬件完全代替微指令,我们需要讲微程序控制器改成硬布线控制器打开第一次实验包里面的真值表自动生成表达式2019-10-27.xlsx因为有四位输入,16位输出。而真值表自动生成的Excel没有那么多变量,所以采用四位输入,8位输出,分两次生成电路。我们可以新建一个crc文件,来存储生成电路确定输入输出,打开Excel表其中AluScrB分为两次输出,根据此表填写真值表复制到Logism再完成后8位
2020-09-15 23:07:31
5583
5
原创 利用MIPS CPU实现冒泡排序和选择排序法
冒泡排序法##################################################################################本程序实现(字节地址0x200,字地址0x80)开始的8个字单元的降序排序##################################################################################.text#利用循环进行赋值addi $t0,$0,8 #循环8次addi $s
2020-09-15 22:42:38
2610
2
原创 多周期MIPS CPU硬布线控制器设计
多周期MIPS CPU硬布线控制器设计和单周期CPU相比,只是讲微指令控制器改变成硬布线控制器,而其他部分并没有发生改变数据通路部分和微指令控制器多周期MIPS CPU一样,原理也一样多周期硬布线除控制状态机外都相同下址部分被硬布线控制器状态机取代指令译码逻辑和ALU控制器逻辑和之前的一样,复制即可。硬布线控制器状态机根据指令状态变换图填写Excel表复制到状态机FSM即可加载sort.hex排序成功...
2020-09-14 15:57:37
8116
10
原创 C++标准库的使用
stack 函数名 功能 size() 返回栈的元素数 top() 返回栈顶的元素 pop() 从栈中取出并删除 push(x) 向栈中添加元素x empty() 当栈为空时返回true #include <stack>#include <iostream>using namespace std;int.
2020-09-08 00:19:27
471
原创 逆波兰式(C++实现)
(a+b)c的逆波兰式为ab+c,假设计算机把ab+c按从左到右的顺序压入栈中,并且按照遇到运算符就把栈顶两个元素出栈,执行运算,得到的结果再入栈的原则来进行处理,那么ab+c的执行结果如下:1)a入栈(0位置)2)b入栈(1位置)3)遇到运算符“+”,将a和b出栈,执行a+b的操作,得到结果d=a+b,再将d入栈(0位置)4)c入栈(1位置)5)遇到运算符“”,将d和c出栈,执行dc的操作,得到结果e,再将e入栈(0位置)经过以上运算,计算机就可以得到(a+b)*c的运算结果e了。逆波兰式除
2020-09-07 23:29:36
2316
2
原创 折半查找(C++实现)
折半查找定义:计算机科学中,折半搜索(英语:half-interval search),也称二分搜索(英语:binary search)、对数搜索(英语:logarithmic search),是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩
2020-09-07 17:28:14
9232
3
原创 利用递归将十进制转换为二进制数
利用递归将十进制转换为二进制数#include <iostream>#include <stack>using namespace std;const int M = 2;void conversion(int N){ stack<int> s; while(N){ s.push(N%M); N=N/M; } while(!s.empty()){ cout<<s.top(); s.pop(); }}int main(
2020-09-07 15:30:31
383
原创 CCF 201409-1 相邻数对
- 计算机软件能力认证考试系统 问题描述 试题编号:201409-1 试题名称:相邻数对 时间限制:1.0s 内存限制:256.0MB 问题描述:问题描述 给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。输入格式 输入的第一行包含一个整数n,表示给定整数的个数。 第二行包含所给定的n个整数。输出格式 输出一个整数,表示值正好相差1的数对的个数。样例输入610 2 6 3 7 8样例输出3样例说明 值正好相差1的数对包括(2, 3), (6, ...
2020-09-06 19:18:39
66
原创 CCF 201604-1 折点计数
问题描述 给定n个整数表示一个商店连续n天的销售量。如果某天之前销售量在增长,而后一天销售量减少,则称这一天为折点,反过来如果之前销售量减少而后一天销售量增长,也称这一天为折点。其他的天都不是折点。如下图中,第3天和第6天是折点。给定n个整数a1, a2, …, an表示销售量,请计算出这些天总共有多少个折点。 为了减少歧义,我们给定的数据保证:在这n天中相邻两天的销售量总是不同的,即ai-1≠ai。注意,如果两天不相邻,销售量可能相同。输入格式 输入的第一行包含一个整数n。 第二行包
2020-09-06 17:21:53
109
原创 CCF 201909-1 小明种苹果
#include <iostream>using namespace std;int main(){ int N,M; cin>>N>>M; int **A=new int* [N]; for(int i=0;i<N;i++){ A[i]=new int[M+1]; } for(int i=0;i<N;i++){ for(int j=0;j<=M;j++){ cin>>A[i][j]; } } in.
2020-09-05 20:50:23
119
基于SOCKET编程多人聊天软件HTML+JSON报文
2022-06-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人