自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++ -- 基于多态的后宫管理系统(其实就是职工管理或者图书管理系统根据我自己的需求改编,毕竟追我的人太多了,要好好管理一下)

Linux环境下C++基于多态的后宫管理系统 实现如下几个功能 后宫每位佳丽都有4个属性,分别是编号、姓名、颜值、身份 并且把数据保存到文件中,保证数据不会在程序结束时流失,下一次使用还可以恢复以前的数据 让我们来看看添加功能 当输入正确时添加成功 当输入编号已经存在或者身份不对时,提示输入失败 显示功能,输入2显示所有人信息 删除功能 两种模式,姓名模式输入要删除的姓名,编号模式输入要删除的编号,当有重名人时,不能用姓名模式删除,当输入的编号或姓名不存在时,提示用户不存在 其他经过测试都是成功的

2020-09-12 00:24:27 296

原创 C语言--暴力解决骑士周游问题

在一个8x8的棋盘上,让马按照象棋走法,走完棋盘所有位置,且同一位置只能走一次,求马走的路径 每个位置有8种走法,让马按照一定的顺序尝试,若走不通则返回上一步尝试另外几种可能,依次类推知道尝试成功走完棋盘。 实现代码: #include"stdio.h" //初始化X #define X 8 //初始化Y #define Y 8 //棋盘数组 int chess[X][Y]; //根据count 的值尝试不同走法,若能走通返回1,走不通返回0 int try(int *x, int *y, int cou

2020-09-05 15:06:58 755

原创 C语言--线索二叉树创建与遍历

线索二叉树就是把左或者右孩子为空的位置,设置为前驱或者后继 因为中序遍历第一个元素是C,没有前驱,最后一个元素F也没有后继,所以我们设置一个头结点,C的前驱和F的后继都指向投节点,头节点的前驱为根节点,后继为最后一个元素F。 #include"stdio.h" #include"stdlib.h" //线索标志位 //link表示指向左右孩子 //thread表示指向前驱后继 enum{link, thread}; //二叉树结构体 struct btree { char data; struct

2020-09-03 15:04:29 486

原创 C语言--二叉树创建与遍历

#include"stdio.h" #include"stdlib.h" struct tree { char data; struct tree *lchild; struct tree *rchild; }; //创建二叉树,按照前序遍历方式输入 void createtree(struct tree **T) { char c; scanf("%c", &c); if(' ' == c) { *T = NULL; } else { *T = (struct tre.

2020-09-02 20:57:12 1073

原创 C语言 -- KMP算法(找子串)

KMP算法是一种改进的字符串匹配算法 KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是通过一个next()函数实现,函数本身包含了模式串的局部匹配信息。KMP算法的时间复杂度O(m+n) 如上图所示,初始化前缀为0,后缀为1,next第一位0(i = 1, j = 0, next[1] = 0),然后像后依次求next数组。next的第i位等于j。 当 前缀 为T[1~4]abab时,后缀 为T[3~6]abaa,第四个元素不同,

2020-09-02 12:58:22 1209

原创 C语言--通讯录

在Linux环境下用C语言实现通讯录,可增删查改,通过文件保存数据。 大致框架 1.头文件child.h 2.子函数child.c 3.主函数 程序代码: child.h #ifndef CHILD_H #define CHILD_H #include "stdio.h" #include "stdlib.h" #include "string.h" #define NAME 20 #define PHONE 12 #define SEX 5 #define ADDR 20 #define MAX 1

2020-08-31 14:30:51 173

原创 C语言--单机三子棋

玩家通过键盘输入坐标 与 人工智障进行三子棋对战 #include "stdio.h" #include "stdlib.h" #include "time.h" #include "unistd.h" #define ROW 3 #define COL 3 //数组初始化函数 void initarr(char arr[ROW][COL], int row, int col) { for(int i=0; i<row; i++) { for(int j=0; j<col; j++)

2020-08-31 14:09:58 97

原创 C语言--猜数字游戏

随机生成一个1~100的数让用户猜 #include "stdio.h" #include "stdlib.h" #include "time.h" //目录 void begin() { printf("***********************\n"); printf("****1.play 0.exit*****\n"); printf("***********************\n"); } //游戏 void game() { int ret, i; ret = rand()

2020-08-31 14:01:29 115

原创 C语言--汉诺塔

汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。 设移动盘子数为n,为了将这n个盘子从X杆移动到Z杆,可以做以下三步: (1)以Z盘为中介,从X杆将1至n-1号盘移至Y杆; (2)将X杆中剩下的第n号盘移至Z杆; (3)以X杆为中介;从Y杆将1至n-1号盘移至Z杆。

2020-08-31 13:53:50 173

原创 C语言--循环链表打印拉丁方阵

(新手上路) 拉丁方阵(英语:Latin square)是一种 n × n 的方阵,在这种 n × n 的方阵里,恰有 n 种不同的元素,每一种不同的元素在同一行或同一列里只出现一次。 #include "stdio.h" #include "stdlib.h" //链表结构体 struct List { int data; struct List *next; }; // 创建循环链表 void createlist(struct List **L, int n) { struct List *p;

2020-08-31 13:40:38 353

原创 C语言--八皇后问题

该问题是19世纪著名数学家高斯于1850年提出 在8X8的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后不能在同一行、同一列或者同一斜线上。问有多少种摆法。 #include "stdio.h" int count = 1; //判断是否有危险 int wx(int row, int n, char (*arr)[8]) { int i = row; int j = n; int k = 0; int flag1 = 0; //上 for(k = i; k >= 0 ; k-

2020-08-31 13:25:48 173

空空如也

空空如也

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

TA关注的人

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