自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SSM整合,校验框架

Spring MVC第三天1 校验框架1.1 入门案例使用步骤:1、导入校验框架的jar包<!--导入校验的jsr303规范--><dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>2.0.1.Final</version>...

2021-06-21 21:06:14 298

原创 docker应用部署

Docker 应用部署一、部署MySQL 搜索mysql镜像 docker search mysql 拉取mysql镜像 docker pull mysql:5.6 创建容器,设置端口映射、目录映射 # 在/root目录下创建mysql目录用于存储mysql数据信息mkdir ~/mysqlcd ~/mysqldocker run -id \-p 3307:3306 \--name=c_mysql \-v $PWD/conf:/etc/mysql/co

2021-06-21 21:03:07 66

原创 docker compose服务编排 反向代理,编排nginx和springboot项目

Docker Compose一、安装Docker Compose# Compose目前已经完全支持Linux、Mac OS和Windows,在我们安装Compose之前,需要先安装Docker。下面我 们以编译好的二进制包方式安装在Linux系统中。 curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/do

2021-06-21 20:59:23 211

原创 1.研究 sscanf sprintf 2.研究 fread fwrite

一、sscanf函数    sscanf函数原型为int sscanf(const char *str, const char *format, ...)。将参数str的字符串根据参数format字符串来转换并格式化数据,转换后的结果存于对应的参数内。具体功能如下:(1)根据格式从字符串中提取数据。如从字符串中取出整数、浮点数和字符串等。(2)取指定长度的字符串

2017-12-03 11:58:22 199

原创 C语言内存管理和动态内存开辟

#define _CRT_SECURE_NO_WARNINGS 1#include//malloc开辟空间int main(){ int num = 5; int *ptr = NULL; ptr = (int *)malloc(num*sizeof(int)); if (ptr != NULL) { int i = 0; for (i = 0; i < num; i++)

2017-11-27 23:09:46 240

原创 实现一个通讯录。

#define LEN 3struct people{ char name[10]; char sex[3]; char number[12]; int age;}; struct contact{ struct people *human; int capacity; size_t size;}; void Init(struct contact *con)

2017-11-24 17:46:23 206

原创 结构体类型-枚举类型-联合体类型

结构体1.结构体声明可分为标签声明和重命名声明。例如:struct str//结构体标签{ char name[20]; int age; char sex[5]; char id[20];};typedef struct //重命名{ char name[20]; int age; char sex[5]; char id[20];}str;2.结构体成员访问

2017-11-24 17:43:51 294

原创 指针与数组

指针数组:本质是一个数组,数组元素都是指针。例如:char  *arr[];数组指针:本质是一个指针,指向一个数组。例如:char (*)arr[];函数指针:本质是一个指针,指向一个函数。例如:char *fun(a,b);函数指针数组:本质是数组,数组元素都是函数指针。例如:char (*fun[])(a,b);函数指针数组指针:本质是指针,指向一个元素都为函数指针的数组。例如

2017-11-17 16:43:04 172

原创 字符串函数模拟实现

1.实现strlen2.实现strcpy 3.实现strcat #define _CRT_SECURE_NO_WARNINGS 1#include#includeint mystrlen(const char *str)//模拟实现求字符串长度函数。{ int count = 0; assert(str); while (*str++) { count++; }

2017-11-13 17:05:58 174

原创 写冒泡排序可以排序多个字符串。

#include void bubble_sort_str(char *str[],int sz) { int i = 0; int j = 0; for (i = 0; i < sz - 1; i++) { for (j = 0; j < sz - 1 - i; j++)

2017-11-12 13:38:09 218

原创 使用main函数的参数,实现一个整数计算器,程序可以接受三个参数,第一个参数“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。

#include #include int main(int argc, char* argv []) { int num1 = atoi(argv [2]);//此处利用atoi函数将指针数组类型转换为整型。 int num2 = atoi(argv [3]); int ret;

2017-11-12 13:37:00 199

原创 模拟实现strcpy,strcat,strcmp

#define _CRT_SECURE_NO_WARNINGS 1#include#includechar *my_strcpy(char *str, const char *arr){ char *ret = str; assert(str); assert(arr); while (*str++ = *arr++) { ; } return ret;}int m

2017-11-12 13:32:57 166

原创 喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。

int main() { int _bottle = 0;//当空瓶为奇数个时,表示剩下的瓶子 int money = 20; int count = 0;//总共的汽水数 int bottle=0;//空瓶数 if (money > 0) { count = money; bottle = money

2017-11-12 13:00:16 355

原创 一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。 找出这两个数字,编程实现

#define _CRT_SECURE_NO_WARNINGS 1#include#includevoid Find_data(int *arr,int len,int *data1,int *data2){ assert(arr); unsigned int ret = 0; for (int i = 0; i <len; i++) { ret ^= arr[i]; }

2017-11-12 12:55:35 164

原创 可变参数列表问题

可变参数列表解析及简单应用:在函数原型中,列出函数期望接受的参数,但是原型只能显示固定数目的参数。通俗来讲就是,当我们给定函数原型时候,我们也就确定了函数的参数的个数,传递参数的时候必须按照原型提供的参数个数来传递参数。那么我们是否可以传递参数时候,提供可变个参数呢?当然是可以的,比如我们常用的printf()函数,我们可以用以下方式传递多个参数给此函数。printf("hello")

2017-11-10 17:28:50 184

原创 递归和非递归分别实现求第n个斐波那契数。

#define _CRT_SECURE_NO_WARNINGS 1#includeint fib1(int n){ int c = 0; int a = 1; int b = 1; if (n <= 2) { return 1; } while (n > 2) { c = a + b; a = b; b = c; n--; } return c;}

2017-11-08 15:59:18 605

原创 判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1 = AABCD和s2 = BCDAA,返回1,给定s1=abcd和s2=ACBD,返回0.

#include #include #include int judge(char str1[],char str2[]){ int i = 0; int j = 0; int lenght = strlen(str1); for (j = 1; j <= lenght; j++) { { int tem =

2017-11-05 12:48:17 980

原创 1.实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA

#define _CRT_SECURE_NO_WARNINGS 1#includevoid left_move(char *p, int n){ int i = 0; for (i = 0; i < n; i++) { char tmp = *p; int j = 0; while (*(p + 1 + j)) { *(p + j) = *(p + j + 1);

2017-11-04 17:27:31 392

原创 函数调用过程及栈帧分析

Linux内核程序boot/head.s执行完基本初始化操作之后,就会跳转去执行init/main.c程序。那么head.s程序是如何把执行控制转交给init/main.c程序的呢?即汇编程序是如何调用执行C语言程序的?这里我们首先描述一下C函数的调用机制、控制权传递方式,然后说明head.s程序跳转到C程序的方法。函数调用操作包括从一块代码到另一块代码之间的双向数据传递和执行控制转移。数

2017-11-03 17:20:27 280

原创 //杨氏矩阵 有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。

#define _CRT_SECURE_NO_WARNINGS 1 #include #define ROW 4 #define COL 4 int Yang(int arr[ROW][COL], int val){ int i = 0; int j = COL - 1; int tmp = arr[i][j]; while (1) { if (tmp == val

2017-10-29 17:28:13 377

原创 入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。

#define _CRT_SECURE_NO_WARNINGS 1#include void Adjust(int arr[], int len){ int i, j; for (i = 0; i < len; i++) { if ((arr[i] % 2) == 0) for (j = i + 1; j < len; j++) { int temp; if (

2017-10-29 16:43:37 483

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

#include#includevoid reverse(char *left, char *right){ while (left<right) { char tmp = *left; *left = *right; *right = tmp; left++; right--; }}void reverse_str(char arr[], int sz){

2017-10-27 17:06:45 264

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

#include #include int main(){ int a[] = { 0, 1, 2, 3, 4, 9, 0, 2, 3, 1, 4 }; int i; int len = sizeof (a) / sizeof(a[0]); for (i = 1; i < len; i++) { a[0] = a[0] ^ a[i]; } printf("单独的数字是%

2017-10-27 16:55:32 230

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

1.int average(int a,int b){ return a + (b - a) / 2;}int main(){ int a = 0; int b = 0; printf("输入两个数\n"); scanf("%d%d", &a, &b); printf("%d", average(a,b)); system("pause"); return 0;}2.

2017-10-27 16:30:50 169

原创 这个函数的返回值value的二进制位模式从左到右翻转后的值。

#define _CRT_SECURE_NO_WARNINGS 1#includeint reverse_bit(unsigned int value){ int a = 0; int b = 0; int i = 0; for (i = 1; i <=31; i++) { a = value & 1; value=value >> 1; b = b | a; b=

2017-10-27 15:54:09 233

原创 宏实现奇偶位的交换,两个数最大值

1.宏实现两数最大值#define _CRT_SECURE_NO_WARNINGS 1#include#define MAX (a>b)?a:bint main(){ int a = 10; int b = 5; int z = MAX; printf("Max=%d\n",z); system("pause"); return 0;}2.宏实现奇偶位的交换#

2017-10-23 13:57:47 242

原创 C语言实现扫雷游戏

game.h#define _CRT_SECURE_NO_WARNINGS 1 #include #include #include #include #define SUM 10 #define row 11 #define col 11 void print_();void init(char mine[row][col], char show[row][

2017-10-20 15:04:56 194

原创 C语言实现三子棋

game.h#define _CRT_SECURE_NO_WARNINGS 1#ifndef __GAME_H__#define __GAME_H__#include#include#include#include#define ROWS 3#define COLS 3void init_board(char board[ROWS][COLS], int row, int

2017-10-20 13:16:15 143

原创 屏幕上打印杨辉三角

#include#includeint main(){ int i, j, k, arr[10][10] = { 0 };/*arr[11][11]必须初始化,初始化为{0}*/ printf("打印出杨辉三角:\n"); for (i = 0; i<10; i++) {/*先打印出第一列和对角线的数,均为1,同时第一二行已打印完*/ arr[i][0] = 1; arr[

2017-10-14 16:26:35 195 1

原创 数组总结

1.数据类型分为内置类型和自定义类型。数组为自定义类型。2.字符串节省内存,只存一次。3.数组越界导致无限循环。int i,arr[10]for(i=0;i{        printf();        arr[i]=0;4.二维数组可以省略行,不省略列。int*p=arr;//一维数组int*p=&arr[0][0];//二维数组二维数组输

2017-10-14 15:57:05 127

原创 日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯 的一个。以下为4个嫌疑犯的供词。 A说:不是我。 B说:是C。 C说:是D。 D说:C在胡说 已知3个人说了真话,1个人说

#includeint main(){ int i = 0, a = 0, b = 0, c = 0, d = 0; int nd = 0; for (i = 1; i <= 4; i++)//在这里有4种可能,所以用for循环循环四次 { if (i == 1)//假设A说了谎 { a = 1; c = 1; nd = 1; d = 0; } if (i == 2

2017-10-14 15:54:49 255

原创 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A

#define _CRT_SECURE_NO_WARNINGS 1#include int main(){ int a = 0; int b = 0; int c = 0; int d = 0; int e = 0; int n = 0; int flag = 0; for (a = 1; a <= 5; a++) { for (b = 1; b <= 5; b++)

2017-10-14 15:09:09 210

原创 创建一个数组, 实现函数init()初始化数组、 实现empty()清空数组、 实现reverse()函数完成数组元素的逆置。

#define _CRT_SECURE_NO_WARNINGS 1#includeint init(int arr[],int len){ int i = 0; printf("初始化数组->:\n"); for (i = 0; i < len; i++) { scanf("%d", &arr[i]); }}int reverse(int arr[],int len){

2017-10-12 19:30:14 278

原创 实现一个函数,1打印乘法口诀表(可更改行列),2交换两数,3判断是否闰年,4判断是否素数。

#define _CRT_SECURE_NO_WARNINGS 1#includemtt(int x){ int i = 0; int j = 0; for (i = 1; i <= x; i++) { for (j = 1; j <= i; j++) { printf("%d*%d=%-4d", i, j, i*j); } printf("\n"); }

2017-10-12 17:47:41 176

原创 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同

#define _CRT_SECURE_NO_WARNINGS#includeint main(){ int m = 0; int n = 0; int tmp = 0; int count = 0; printf("输入两个整数\n"); scanf("%d%d",&m,&n); tmp = m^n; while (tmp > 0) { if (tmp % 2 ==

2017-10-08 13:55:52 196

原创 输出一个整数的每一位

#define _CRT_SECURE_NO_WARNINGS 1#include#includeint main(){ int i, len; char num[100]; printf("请输入一个整数:"); scanf("%s", num); len = strlen(num); for (i = 0; i <= len - 1; i++) { pr

2017-10-08 13:37:55 190

原创 获取一个数二进制序列,分别输出奇数列和偶数列

#define _CRT_SECURE_NO_WARNINGS 1#includeint main(){ int i = 0; int j = 0; int num = 0; printf("input a number:"); scanf("%d", &num); for (i = 31; i >= 0; i -= 2) { printf("%d", (num >> i)

2017-10-06 17:22:56 271

原创 写一个函数返回参数二进制中1的个数

#include int count_one_bits(unsigned int value) { int a=value; //把函数中value的值给a int i=0; //记录1的值 while(a) { if(a%2 ==1

2017-10-06 16:20:40 140

原创 操作符

操作符1.算术操作符‘/’计算求浮点数时要求两个操作数最少有一个浮点数。‘%’只能计算整数。2.移位操作符不改变原变量值。右移分为算术右移,逻辑右移。在做乘二或除二运算时,可以使用移位,好处:效率高!3.位操作按位与,按位或,按位异或4.赋值操作符可连续赋值:x=y=a;复合赋值例如:+=符号;5.单目操作符例如: + - sizeof ~(

2017-09-30 12:08:00 133

原创 折半查找法

#define _CRT_SECURE_NO_WARNINGS 1#includeint midfind(int arr[], int key, int sz){ int left = 0; int right = 0; int mid = 0; while (left <= right) { int mid = sz; if (arr[mid] = key) {

2017-09-27 19:25:38 327

空空如也

空空如也

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

TA关注的人

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