自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (1)
  • 收藏
  • 关注

原创 [Qt] TCP客户端与服务器断开连接自动重联机制

TCP服务器断开连接自动重联机制客户端加入定时器实现断线重联(客户端服务端代码见上一篇博客)编译环境:Qt 5.9.5ui界面如图:代码如下tcpclient.h#ifndef TCPCLIENT_H#define TCPCLIENT_H#include <QWidget>#include <QTcpSocket>#include <QTime...

2019-11-13 14:49:07 4742

原创 [Qt] tcp服务器连接多个客户端的实现

[Qt]tcp服务器连接多个客户端的实现~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~要求:数据按字节接收,以1~255个字节循环发送编译环境:Qt 5.9.5客户端的实现:代码如下:TcpClient.h:#ifndef TCPCLIENT_H#define TCPCLIENT_H#include <QWidget>#includ...

2019-11-08 16:55:16 8714 6

原创 图酷

图库整体架构核心就是一个 HTTP 服务器, 提供对图片的增删改查能力. 搭配简单的页面辅助完成图片上传/展示,在 MySQL 数据库中存储对应的图片信息。数据库设计这个项目用到了一张表,存储图片的ID,name,id,name,size,upload_time,type,path,md5接口设计(hpp)namespace image_system { static MYSQ...

2019-09-07 00:28:09 241

原创 c++:计算两个字符串最大公共字符串长度

题目描述:**计算两个字符串最大公共字符串长度,不考虑字母大小写**代码如下:#include<iostream>#include<vector>using namespace std;int main(){ string str1, str2; while(cin >> str1 >> str2){ in...

2019-07-25 15:27:24 668

原创 c++:字符串翻转

题目描述: 写一个程序,输入一个字符串,输出翻转的字符串 #include<iostream> #include<string> using namespace std; int main() { string str; cin >> str; for(int i=str.size()-1...

2019-07-25 15:16:47 152

原创 判断斐波那契

#include<stdio.h>int fib(int n) { if (n == 1 || n == 2) { return 1; } return fib(n - 1) + fib(n - 2);}int isfib(int m){ int result=0; for(int i=0;fib(i)<m...

2019-07-08 03:31:58 192

原创 数据结构:队列

队列基于队列实现以下操作:队列的初始化入队列出队列显示队列首位元素显示队列尾元素队列元素个数判断是否为空销毁队列代码如下引入头文件,定义队列#pragma oncetypedef int QDataType;typedef struct QNode{ struct QNode* _pNext; QDataType _data;}QNode;typede...

2019-05-22 18:32:55 100

原创 数据结构:动态栈

动态栈实现基于动态栈的以下操作:栈的初始化入栈出栈获取栈顶元素有效元素个数判断是否为空销毁栈代码如下:引入头文件,定义动态栈#pragma oncetypedef int SDataType;typedef struct Stack{ SDataType* _array; int _capacity; int _size; // 表示栈中有效元素的个数 代...

2019-05-22 14:45:33 218

原创 数据结构:单链表

单链表实现基于单链表的以下操作:链表的初始化在链表s最后一个节点后插入值为data的节点删除链表s最后一个节点在链表s第一个节点前插入值为data的节点删除链表s的第一个节点在链表的pos位置后插入值为data的节点删除链表s中pos位置的节点在链表中查找值为data的节点,找到返回该节点的地址,否则返回NULL获取链表中有效节点的个数检测链表是否为空销毁链表代码如下...

2019-05-20 17:18:24 87

原创 结构体的用法小结

结构体的声明:结构体是一些值得集合,这些值称为成员变量,结构体的每个成员都可以是不同类型的变量。一个结构体变量,可以用来描述一个 学生的信息,结构体的成员可以是标量数组,指针,甚至可以是其他的结构体。eg:struct stu { char name[20]; int age; char sex[5]; char tel[15];};结构体类型的访问1. 通过操作符【.】来访...

2019-05-16 13:20:27 402

原创 数据结构:动态顺序表

动态顺序表实现基于动态数组的顺序表的以下基本操作:顺序表的初始化在顺序表的尾部插入值为data的元素删除顺序表最后一个元素在顺序表的头部插入值为data的元素删除顺序表头部的元素在顺序表pos位置插入值为data的元素删除顺序表中pos位置上的元素在顺序表中查找值为data的元素,找到返回该元素在顺序表中的下标,否则返回-1检测顺序表是否为空...

2019-05-15 15:34:59 181

原创 数据结构:线性结构之顺序表总结

1. 什么是线性结构?线性结构是一个有序数据元素集合;2. 线性结构中都包含什么内容?线性表, 栈, 列队, 双队列, 数组, 串;3. 什么是顺序表?顺序表的分类?一段物理地址连续的存储单元连成的线性结构(一般用数组存储)4. 完成动态顺序表的以下操作:// 动态的顺序表 typedef int DataType; typedef struct SeqList { Data...

2019-05-15 15:22:32 191

原创 Linux常用命令总结

基础指令:目录命令:命令名称[选项参数][操作对象]ls -a -lpwd查看当前所在路径/home/dev 绝对路径…/dev/ 相对路径在每一个目录下都会有两个目录. 目录本省… 自身的上一层路径mkdir 创建目录-pwd查看当前所在路径多层级创建目录,哪层不存在创建哪层mkdir -p abc/bcd/cdermdir 删除空目录-p 递归多层级删除空目录r...

2019-05-14 10:27:48 124

原创 C语言:使用指针连接两个字符串

程序运行结果如下:代码如下:#include<stdio.h>void Connect(char* str1, char* str2, char* p) { int i = 0; for (; *str1 != '\0';) { *p = *str1; str1++; p++; } for (; *str2 != '\0';) { *p = *str2...

2019-05-11 10:02:55 20798 4

原创 C语言:使用返回指针的函数查找最大值

程序运行结果如下:代码如下#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<conio.h>void* Find_MAX(int *p, int n) { int i; int* max; max = p; for (i = 0; i < n; i++) { if (*(p + ...

2019-05-08 11:07:34 1426

原创 C语言:文件操作相关函数总结

打开与关闭文件fopen 函数说明:作用:用来打开一个文件格式:FILE * fopen(const char * path,const char * mode);返回值:打开文件成功返回一个文件指针,若打开文件失败则返回NULL参数说明:*path:字符串包含欲打开的文件路径及文件名(例如:D:\\A.txt),注意在C语言中欲输出一个"\"则需要输两个"\\"*mode:代表着...

2019-05-06 14:43:45 156

原创 C语言:使用指向指针的指针对字符串排序

程序运行结果如下:代码如下:#include<stdio.h>#include<string.h>void change(int n, char* strings[]) { char* temp; int i, j; for (i = 0; i < n; i++) { for (j = i + 1; j < n; j++) { if ...

2019-05-05 10:27:24 2905 1

原创 C语言:使用指针输出字符串

#include<stdio.h>//使用指针输出字符串int main() { char* arr[] = { "C语言", "C++", "JAVA" }; char** p; p = arr; int i; for (i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) { printf("%s\n",*(p+i));...

2019-05-04 19:44:25 6631

原创 C语言:使用指针查找数列中的最大值和最小值

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>void MAX_MIN(int arr[], int* max, int* min, int size) { int* p; //*max = *min = arr[0];初始化指针 *max = *min = *arr; for (p = arr + 1; p < ...

2019-05-04 19:00:58 5778

原创 C语言:使用指针输出数组元素

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>int main() { int a[10]; int* p; //定义整形指针变量 p = &a[0]; //对指针变量赋值 int i; for (i = 0; i < 10; i++) { scanf("%d", &a[i]); } f...

2019-05-03 17:16:32 12073 2

原创 C语言:指向结构体变量的指针

使用结构体指针变量实现显示程序运行结果如下:代码如下:#include<stdio.h>struct student{ int num; char name[1024]; char sex; int age; float score;};int main() { struct student student1 = { 001, "zhangsan", 'M...

2019-05-02 15:53:07 546

原创 C语言:使用指针实现三个数排序

运行结果如图:自定义两个函数完成交换函数:void swap(int* p, int* q) { int temp; temp = *p; *p = *q; *q = temp;}排序函数:void exchange(int* p1, int* p2, int* p3) { if (*p1 < *p2) { swap(p1, p2); } if (*p1 &...

2019-05-02 15:07:26 15511 2

原创 数据结构知识点

1.如何衡量一个算法的好坏一个算法的好坏,主要看该算法的效率.而算法的效率分为2.一是时间效率(时间复杂度),二是空间效率(空间复杂度)2.什么是时间复杂度?在计算机科学中,算法的时间复杂度是一个函数,他定量描述了该算法的运行时间.时间复杂度为什么不使用时间来衡量而使用基本语句的运行次数来衡量?只有把程序放在机器上跑起来,才能知道.因此,过于麻烦.所以有了时间复杂度的概念,一个算法所...

2019-05-01 23:25:07 71

原创 C语言:通讯录

**通讯录**实现一个通讯录;通讯录可以用来存储1000个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>/*1. 添加联系人信息 2. 删除指定联系人信息 3....

2019-04-26 15:04:03 111

原创 C语言:冒泡排序

冒泡排序输入十个数实现从小到大排序运行结果如下:程序代码如下:#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>//冒泡排序int main() { int i, j, num, arr[11]; printf("请输入十个数:\n"); for (i = 1; i < 11; ++i) scanf("%d...

2019-04-26 11:00:54 183

原创 C语言:婚礼上的谎言

题目如下:三对情侣参加婚礼,三个新郎为A、B、C,三个新娘为X、Y、Z ,有人想知道究竟谁和谁结婚,于是就问三个新人中的三位, 得到如下的结果:A说他将与X结婚;X说它的未婚夫为C;C说他将 与Z结婚。这人事后了解到他们说的全是假话,那么究竟谁和谁结婚?算法思路:用 a!=1 表示A不与X结婚用 c!=1 表示C不与X结婚用 c!=3 表示C不与Z结婚具体代码如下:#include&...

2019-04-24 15:31:29 541

原创 C语言:计算某日是该年的第几天

题目:计算某日是该年的第几天自定义一个函数计算天数首先要判断该年是否为闰年,代码如下:year % 4 == 0 || year % 100 != 0 || year % 400 == 0然后调用数组输出闰年平年的每个月天数:int arr_day[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; int arr_...

2019-04-24 11:30:47 1903

原创 C语言:自定义类型知识点总结

.自定义类型部分知识。知识点:结构体类型创建结构体初始化结构体内存对齐位段,位段计算机大小。枚举+联合。1.结构体类型创建struct stu {char name[1024];int age;char sex[1024];char id[1024];};2.结构体初始化struct student {char name[1024];int age;cha...

2019-04-22 10:22:34 101

原创 C语言:有一个字符数组的内容为:"student a am i", 请你将数组的内容改为"i am a student".

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include <stdlib.h>#include <string.h>#include <assert.h>/*有一个字符数组的内容为:"student a am i", 请你将数组的内容改为"i am a student". 要求...

2019-04-17 17:44:41 202

原创 C语言:一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。请找出这个数字。(使用位运算)

两次异或的结果为之前的数#include<stdio.h>//一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。//请找出这个数字。(使用位运算)int main() { int arr[] = { 1, 1, 2, 3, 3, 4, 4, 5, 5 }; int i = 0; int size = sizeof(arr) / sizeof(arr[0]);...

2019-04-17 15:59:05 151

原创 C语言:不使用(a+b)/2这种方式,求两个数的平均值

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>//不使用(a+b)/2这种方式,求两个数的平均值int main() { int num1, num2; int avr; printf("请输入两个数:"); scanf("%d %d", &num1, &num2); avr = num1 - (num...

2019-04-17 15:40:41 345

原创 C语言: 编写函数: unsigned int reverse_bit(unsigned int value); 这个函数的返回值value的二进制位模式从左到右翻转后的值。

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<math.h>/* 编写函数:unsigned int reverse_bit(unsigned int value);这个函数的返回值value的二进制位模式从左到右翻转后的值。如:在32...

2019-04-17 15:27:27 143

原创 C语言:实现memmove:从 str2 复制 n 个字符到 str1

#include<stdio.h>//实现memmove:从 str2 复制 n 个字符到 str1void* Memmove(void *dst, const void *src, size_t count) { void* ret = dst; if (dst <= src || (char*)dst >= ((char*)src + count)) { w...

2019-04-15 22:36:48 294

原创 C语言:实现memcpy

#include<stdio.h>#include<cassert>//实现memcpyvoid *Memcpy(void *str1, const void *str2, size_t n) { void* ret = str1; assert(str1); assert(str2); while (n--) { *(char *)str1 = *(c...

2019-04-15 22:21:39 86

原创 C语言:实现strchr

程序如下:#include<stdio.h>//实现strchrchar* mystrchr(const char* str, char c) { if (*str == NULL) { return NULL; } char* s1 = (char*)str; while (*s1) { if (*s1 == c) { return s1; } s...

2019-04-15 17:16:56 195

原创 C语言:实现strstr

实现strstr代码如下const char* Strstr(const char * str1, const char * str2) { assert(str1); assert(str2); char* cp = (char*)str1; char* substr = (char*)str2; char* s1 = NULL; if (*str1 == '\0') ret...

2019-04-15 15:19:26 166

原创 C语言:求任意数的任意次方,并求次方后的后三位

调用两个函数实现程序如下#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>//求次方函数int CF(int x, int y) { int sum = 1; int i; for (i = 0; i < y; i++) { sum = sum*x; } return sum;}//求次方后的后三...

2019-04-15 11:27:39 2344

原创 C语言:买苹果问题

问题描述:小明买苹果,每个0.8元,第一天买了两个苹果,第二天起买前一天的二倍,知道购买的苹果个数为不超过100的最大值,求小明每天平均花多少钱?代码如下:#include<stdio.h>/*小明买苹果,每个0.8元,第一天买了两个苹果,第二天起买前一天的二倍,知道购买的苹果个数为不超过100的最大值,求小明每天平均花多少钱*/int main() { int sum...

2019-04-14 22:32:05 7246 2

原创 C语言:猴子吃桃问题

问题描述:猴子第一天摘下若干的桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将第一天剩下的一半吃掉,又多吃一个,以后每天早上都吃前一天剩下的一半多一个。到了第十天只剩下一个,求一共有多少桃子。问题分析:第一天的桃子总数是第二天的总数加1的二倍,用一个for循环就可以实现代码如下:#include<stdio.h>int main() { int day; ...

2019-04-14 22:05:37 987

原创 C语言:三个数从小到大输出

运用if语句进行三次判断程序如下:#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>int main() { int a, b, c; int t; printf("请输入三个数(空格隔开)\n"); scanf("%d %d %d", &a, &b, &c); if (a > b) { ...

2019-04-14 21:01:17 8966 1

[Qt] TCP服务器客户端(可连接多个客户端,断线重联,指定格式解析))

编译环境:Qt5.9.5 功能介绍: 1.服务器可以连接多个客户端 2.客户端与服务器断开自动重联 3.按字节解析 4.按照1~10个字节循环返回给客户端

2019-11-13

空空如也

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

TA关注的人

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