自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 问答 (3)
  • 收藏
  • 关注

原创 十大经典排序算法【算法思想+图解+代码】【数据结构与算法笔记】

排序算法还不懂?十大经典排序算法详解。【算法思想+图解+代码】冒泡排序,插入排序,选择排序,快速排序……看完你绝对能手撕各种排序算法。

2023-01-22 00:40:26 4686 2

原创 PacketTracer仿真器的使用

(静态路由没有建立邻居关系hello包,也不会被通告邻居路由,所以他的下一跳纯粹是配置的“下一跳IP地址”直接指定的,或者通过出接口间接指定。场景:日常生活中使用最多的就是无线网,它连接方便,不需要连接网线,而且基本都是采用DHCP,无需手动配置IP,网速也不比一些有线网络网速低。接力性:如果某条静态路由中间经过的跳数大于1(路由要经过3个或以上路由节点),则必须在除最后一个路由器外的其他路由器上依次配置到达相同目的节点或目的网络的静态路由。迭代深度:路由迭代中查找路由的次数,次数越少迭代深度越小。

2023-12-06 10:46:07 1332

原创 部分背包问题【贪心算法】

随机数生成函数(也可以使用自带的random模块改写,笔者此处是从实现随机数底层写)部分背包问题是一种经典的贪心问题,物品可以取一部分,也就是可以随意拆分的物品。算法核心思想:让背包单位空间价值达到最高。注释较为详细,此处不再赘述。

2023-11-13 23:33:01 629

原创 银行家算法(Python实现)

【代码】银行家算法(Python实现)

2023-10-30 22:29:02 1163

原创 Tomcat安装测试、Eclipse配置Tomcat步骤

Tomcat安装测试、Eclipse配置Tomcat步骤

2023-03-19 23:07:03 5585 1

原创 求Huffman树的带权路径长度

这种方法并不是毫无道理,应为同一个结点下的两个叶子结点的路径长度是一样的,叶子结点的路径长度完全可以反映到其双亲结点上去。2.数组末尾两个元素求和(俩结点的双亲结点权值),将其结果放在数组倒数第二个位置上并且数组长度减1。这种算法较为简单,直接可以忽略建树的步骤,直接求出WPL(当然要明白如何求WPL)注意:当集合元素过小时不适用本算法,需要特殊处理,不然会发生数组越界。1.首先将得到的元素集合进行排序;升序也行,请自己尝试)3.累加每次求和结果。(即就是非叶子结点的权值)

2022-11-30 15:56:54 12393 2

原创 后缀表达式的计算【C语言】【数据结构】

中缀表达式计算需要分优先级,在后缀表达式的计算过程中就不用管这么多,遇到运算符直接计算即可(需要注意的是,如果是减‘-’或者除‘/’,需要将先出栈的结果作为除数,后出栈的作为被除数,这一点在后面代码部分体现),总之就一条规则===》》“后出栈元素 (+、-、*、/)先出栈元素”。这其实是为了方便计算机来计算,就先刚才上面的式子,如果是人来算,你很清楚的直到要先计算括号里的,然后计算乘除再计算加减。2.将每个括号中的运算符提到括号的做右边(这就是为啥叫后缀表达式的原因,你提到括号前面它就是前缀表达式了)。

2022-11-09 21:13:33 3870

原创 【数据结构】单链表的应用——有序多项式合并化简

写在前面的话:本人是学生,水平有限,测试用例较少,如果有纰漏还请见谅。利用链表将他们合并成一个并且化简。优点:该算法执行完后原链表都不被破坏。缺点:算法执行完后原链不能再使用。缺点:空间复杂度为O(N)优点:空间复杂度为O(N)

2022-10-13 23:16:48 351 1

原创 【数据结构】线性表之单向链表的八大基操

【数据结构】线性表之单向链表的七大基操。

2022-09-25 20:14:28 580

原创 【Java】猜数字游戏(面向对象 封装成类)

一 、猜数字游戏类menu(公开)方法:参数:无返回值:无主要是显示菜单,并决定是否进入游戏guessNumber(私有)方法:参数1:生成的随机幸运数(0~100)参数2:Scanner对象(应为主方法中已生成过了,所以直接传进来用即可)返回值:无在guessNumber方法中让用户输入一个数,然后开始猜(判断),如果用户猜中结束游戏否则提示用户猜大了或者是猜小了,直到用户猜中,方法结束。

2022-09-23 20:58:31 1237

原创 简易用户登录系统【Python】

源码:

2022-08-12 00:08:20 2929

原创 【C语言】简易登录注册系统(登录、注册、改密、文件操作)

概述概述本登录注册系统通过使用C语言中的结构体、函数、文件操作以及指针等,设计与实现了一个小型用户登录注册系统的登录、注册、修改密码等基本功能。本系统全部功能基本运行良好、用户界面友好、操作简单、使用方便。但系统仍然有不完善之处。例如在隐藏用户输入密码时,如果用户要删除刚输入的密码,则不能将输入‘*’一并删除;修改密码时生成的验证码不应该直接显示,而是通用户留存的手机号将验证码发送至用户绑定的手机上;其实改密部分还可以再添加一个二次输入验证的功能。.........

2022-08-01 21:45:50 17196 20

原创 【C语言】有N个整数,使前面各数向后移m各位置,最后m个数成为最前面m个数。

【C语言】有N个整数,使前面各数向后移m各位置,最后m各数成为最前面m个数。编写程序实现。

2022-07-07 18:02:47 5792 5

原创 【C语言】输入10个整数,将其中最大的数放在首位,最小的数放在末尾,然后输出之。

【C语言】输入10个整数,将其中最大的数放在首位,最小的数放在末尾,然后输出之。

2022-07-06 21:57:23 2492

原创 【C语言】有一条环形铁路上,共有n个车站(车站的顺序如图所示)现有检查组去检查服务质量,从第s个车站开始,每隔m个站检查一个,直到所有的站都检查完。编写一个程序输出检查顺序。

有一条环形铁路上,共有n个车站(车站的顺序如图所示)现有检查组去检查服务质量,从第s个车站开始,每隔m个站检查一个,直到所有的站都检查完。编写一个程序输出检查顺序。笔者认为是约瑟夫斯问题的演化版本(CSDN),大致方法是一致的 程序运行结果: 约瑟夫斯问题的演化版本...

2022-06-25 10:31:58 538

原创 【C语言】课程设计实训——人事管理系统

1、需求分析 人事档案信息采用文件存储,要提供文件的输入输出操作;根据学院人事的变动情况,可添加或删除记录,因而要提供文件的添加删除操作;能根据编号和姓名进档案查询,所提供文件的查找操作;可以修改指定成员的指定字段的信息,即提供文件的修改操作;统计功能要提供以不同字段的统计操作;排序功能要提供用排序算法对人员信息进行排序;另外还要提供键盘式选择菜单以实现对上述基本功能选择。2、总体设计 整体设计为数据浏览模块、数据添加模块、数据删除模块、数据查询模块、数据修改模块、数据统计模块、数据排序模块。...

2022-06-17 15:10:55 6665 19

原创 【C语言】#文件操作#有5个学生,每个学生有3门课程的成绩,从键盘输入以上数据(包括学号、姓名、3门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件stud中。

了解文件和文件指针的概念;学会使用文件操作的相关函数实现对文件打开、关闭、读、写等操作;学会对数据文件进行简单的操作。

2022-06-12 20:07:10 20922 7

原创 【C语言】malloc动态链表。N个人围成一圈,从第1个人开始顺序报号1、2、3。凡报到“3”都退出圈子,找出最后留在圈子中的人原来的序号。要求用链表实现。出圈顺序

解题思路:定义一个结构体,它包含序号num和指向自己的结构体指针。编写一个返回值为结构体指针的的函数来返回链表的头指针,该函数中利用malloc函数来建立一个动态链表,建立链表的过程中同时也给节点num赋值,从1~13。编写另一个函数,该函数通过调用上一个建立链表的函数得到链表的头指针,然后对该链表进行操作,输出每次出局的人的序号,并输出最终留下来的人的序号。详细部分见代码注释。编写程序:...

2022-06-08 23:25:24 342

原创 【C语言】将一个(2N+1)×(2N+1)的矩阵(二维数组)中最大的元素放在中心,4个角分别放4个最小的元素(顺序为从左到右,从上到下依次从小到大存放),写一函数实现之。用main函数调用

解题思路:见代码内注释。需要注意的是,之所以在四个放置角上的元素时使用了多个循环视为了,屏蔽掉之前已经放置好的的最小元素。编写程序:#include<stdio.h>int main(){ int *fun(int a[5][5]); //函数声明 int m[5][5]={0}; //定义一个接收输入矩阵的二维数组 int i,*p=m[0]; //输入用指针并初始化 printf("输入5x5的矩阵:\n"); for(i=0;i<25;i++)

2022-05-30 19:10:20 506 1

原创 【C语言】有n个人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出,问最后留下的人是原来第几号。

解题思路:写一个函数,该函数从主函数接收一个整数n(即人数),定义一个大小为n的一维数组,定义个一个指向该数组的指针。给该一维数组初始化为从1到n。 设一计数器,按照题述条件,内层循环遍历每一个数组元素,并从1到3报数,若当前元素计数为3则使其置0(即标记该人出局),同时使计数器置0并记录出局人数。如果出局人数为n-1人(即只剩下1人)终止循环,否则由外层循环控制使得再次遍历数组,直到踢出n-1人。最后满足只剩1人的条件后,再次遍历数组,找出那个最终没有被踢出的人,并返回其序号。下图以7个人为例:.

2022-05-30 18:37:29 9910 6

原创 【C语言】有一个班4个学生,5门课程。①求第一门课程的平均分②找出有两门以上课程不及格的学生,输出她们的学号和全部课程成绩及平均成绩③找出平均成绩在90分以上或全部课程成绩在85分以上的学生

有一个班4个学生,5门课程。①求第一门课程的平均分②找出有两门以上课程不及格的学生,输出她们的学号和全部课程成绩及平均成绩③找出平均成绩在90分以上或全部课程成绩在85分以上的学生。分别编3函数实现之/*第一问*/#include<stdio.h>int main(){ float ave(int (*p)[5]); //函数声明 int score[4][5]={{78,86,55,59,90},{93,86,95,83,97},{89,88,90,86,91},{87,79,

2022-05-27 17:24:10 6992 3

原创 【C语言】写一个函数,输入一个N位数,将这个N位数每两个数字之间插入一个空格并输出。例如输入1234,则输出1 2 3 4

寻找规律:编写代码:

2022-05-24 17:42:37 2381

原创 【C语言】写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。

解题思路:定义一个统计字符串长度的函数,形参为指针变脸,函数中时指针一一指向字符数串中的每一个元素,如果是字符就统计一次,最后返回一个整型统计结果。编写程序:#include<stdio.h>int main(){ int Tj(char a[]); //函数声明 char str[20]={'\0'}; puts("输入字符串:"); gets(str); puts("长度为:"); printf("%d",Tj(str)); //函数调用并输出结果 re

2022-05-21 16:31:56 7424 1

原创 【C语言】将n个数按输入时顺序的逆序排列输出,用函数和指针实现。

解题思路:先定义一个较大的整型数组,再从键盘获取将要输入几个数,一次接收这几个数并存入数组,调用函数将原来数组中的数颠倒次序,主函数再输出即可。编写程序:#include<stdio.h>int main(){ void sort(int a[],int n); //函数声明 int a[20]={0},i,num=0; int *p=a; //定义一个指针变量 printf("要输入的数的个数(<20):"); scanf("%d",&num);

2022-05-21 16:29:09 14852 4

原创 【C语言】输入一个N阶矩阵,将其转置后输出。利用指针

解题思路:将接收到的矩阵存入一个3×3的数组,编写一个函数,从主函数传来一个指向该数组的指针,利用多维数组指针运用规律,实现数组的转置,最后输出转置后的数组。矩阵转置上一篇有讲:【C语言】N 阶矩阵的转置_.魚肉的博客-CSDN博客_c语言n阶方阵转置编写程序:#include<stdio.h>#define N 3 //需要转置N阶矩阵 int main(){ void M_t(int *p); //函数声明形参为指针变量 int a[N][N],i; int *p;

2022-05-21 16:25:52 4855

原创 【C语言】输入三个字符串,比较其大小,最终将它们由大到小输出。利用C指针。

解题思路:定义一个二维字符数组用于存放3组字符串,再定义一个一位指针数组使其分别指向这3个字符串。编写一个函数,利用传入的指针数组,对其指向的字符串的用“选择法”进行排序(比较时采用了更方便的“strcmp”——字符串比较函数。具体用法:strcmp(a,b),若a>b,该函数返回一个正值,若a<b,返回一个负值,a=b返回0),并将这个指针数组的初始指向改为排序后的指向,最后在主函数中利用该指针数组输出排序后的结果即可。程序:#include<stdio.h>#in

2022-05-21 16:11:26 5092

原创 【C语言】N 阶矩阵的转置

非主对角线元素的调换,只需要将蓝色虚线左边的元素进行调换#include<stdio.h>#define N 5 //需要转置N阶矩阵 int main(){ void M_t(int a[][N]); //函数声明 int i,j; int a[N][N]; /*矩阵输入*/ printf("请输入一个%d×%d的矩阵:\n",N,N); for(i=0;i<N;i++) for(j=0;j<N;j++) scanf("%d",&a

2022-05-17 23:20:53 2177 2

原创 【C语言】用牛顿迭代(切线)法/二分法求下面方程的根:

方程:2x³-4x²+3x-6=0;切线法_百度百科#include<stdio.h>#include<math.h>int main(){ float x=1.5,x1,y,k; //牛顿迭代法(牛顿切线法) while(1){ y=x*(2*x*(x-2)+3)-6;//求该点纵坐标值 if(y==0)break; //若该点纵坐标值为0即得到零点,结束循环 k=2*x*(3*x-4)+3; //求该点斜率 x1=x-y/k; /

2022-05-17 12:07:55 720

原创 【C语言】用迭代法求平方根。

#include<stdio.h>#include<math.h>int main(){ float x1=1,x2,a; scanf("%f",&a); while(1){ x2=(x1+a/x1)/2; if(fabs(x2-x1)<1e-5)break; x1=x2; } printf("%f",x2); return 0;}

2022-05-17 12:03:21 698

原创 【C语言】求两个整数的最大公约数和最小公倍数,用一个函数求最大公约数。用另一个函数根据求出的最大公约数求最小公倍数。

程序如下。思路:编写一个有返回值的函数,使用辗转相除法求两数最大公约数;再编写一个有返回值的函数根据公式(最小公倍数=两数之积除以两数的最大公约数)求两数最小公倍数。#include<stdio.h>int main(){ int hcf(int,int); //函数声明 int lcd(int,int,int); //函数声明 int x,y; scanf("%d%d",&x,&y); //输入俩整数 puts("最大公约数:"); printf

2022-05-15 11:06:45 5174 1

原创 【C语言】用递归法将一个整数转换成字符串。例如,输入483,应输出字符串“483”。N的位数不确定,可以是任意的整数(负数/正数)。

程序如下,有不懂或者错误评论区留言,谢谢!#include<stdio.h>#include<math.h>#define N 10int main(){ int tran(int,int); int x,i=1,j=0; char num[N]={'\0'}; //定义字符数组并置空 puts("输入一个数:"); scanf("%d",&x); //接收一个数 puts("转化为字符串为:"); if(x<1e-6){

2022-05-15 11:02:58 3274 7

原创 【C语言】写一个函数,用对输入的五个字符串按由小到大顺序排列输出。

解题思路:用一个字符型二维数组来接收五个字符串。统计每一个字符串的ASCII码并存入一个整型数组中,再对该数组中的的值进行由大到小的排名(即统计该元素在所有元素中的排序位置),根据该排名情况从大到小输出对应的字符串。#include<stdio.h>#define N 5#define M 10int main(){ void compare(char a[][M],int b[]); //函数声明 int i,j; char a[N][M]={'\0'},*p; //定义

2022-05-14 17:48:46 4994

原创 【C语言】编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。

本题常见方就是在统计个数的函数中直接将结果输出了,因为一个函数只能又一个返回值。所以我们定义一个数组来存放结果即可。#include<stdio.h>#include<string.h>#define N 40 int main(){ void Tj(char a[],int b[]); //函数申明 char str[N]={'\0'}; //定义一个字符数组(存放输入字符串)并初始化 int i,num[4]={0}; //定义一个整型数组存放统计结

2022-05-12 00:26:21 5494

原创 【C语言】编一个程序,将两个字符串s1和s2比较,若s1>s2,输出一个正数;若s1=s2.输出0;若s1<s2,输出一个负数。

题目:编一个程序,将两个字符串s1和s2比较,若s1>s2,输出一个正数;若s1=s2,输出0;若s1<s2,输出一个负数。不要用strcpy函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是相比较的两个字符串相应字符的ASCII 码的差值。例如"A"与"C"相比,由于"A"<"C",应输出负数,同时由于'A'与'C'的ASCII码差值为2.因此应输出“-2”。同理: "And 和"Aid"比较,根据第2个字符比较结果,"n"比"i"的ASCII码大5.因此应输出“5”解

2022-05-11 21:59:10 8713 4

原创 【C语言】不使用strcat(字符串连接函数)将两个字符串连接起来。

解题思路:定义两个字符数组A、B,其中A稍大些。将第一个字符串存入A,再将第二个字符串存入B。然后将B中的字符串紧接在A后即可(采用for循环)。具体见程序:#include<stdio.h>#include<string.h> #define N 30#define M 10int main (){ int i,j; char a[N]={'0'},b[M]={'0'}; //定义两个字符数组并初始化(第一个较大些 ) puts("输入第一个字符串:");

2022-05-10 23:29:23 9350 4

原创 【C语言】有一行电文,已按下面规律译成密码:A→ZB→Y b→yC→X c→x:即第1个字母变成第26个字母,第i个字母变成第(26一i+1)个字母,非字母字符不变。要求编程序将密

#include<stdio.h>#define N 26int main(){ void jiami(char a[]); //函数声明 char str[N]; printf("密码:"); gets(str); /*--密码翻译--*/ jiami(str); /*--译文输出--*/ printf("原文:"); puts(str); return 0;} /*密码翻译函数*/ void jiami(char a[]) { int i; f...

2022-05-10 12:33:24 2021

原创 【C语言】如何自动控制输出空格的个数

#include<stdio.h>int main(){ int i; char str[5]={'*','*','*','*','*'}; for(i=0;i<6;i++){ printf("%*s",i,"");//*是占位符由i代替指定域宽,和%2d类似。 puts(str); } return 0;}输出如下图形:

2022-05-10 11:38:22 6336

原创 【C语言】输入一行字符串,统计其中的单词数

#include<stdio.h>int main(){ char string[81]; int i,num=0,word=0; char c; gets(string); for(i=0;(c=string[i])!='\0';i++){ if(c==' ')word=0; else if(word==0){ word=1; num++; } } printf("有%d个单词\n",num); return 0;}

2022-05-07 16:44:41 715

原创 用一个函数来实现将一行字符串中最长的单词输出。此行字符串从主函数传递给该函数。

1.把两个函数放在同一个程序文件中,作为一个文件进行编译和运行。#include<stdio.h>#include<string.h>int main(){ char str[100]; void L_word(char a[]); puts("输入字符串:"); gets(str); puts("最长的单词是:"); L_word(str); return 0;}void L_word(char a[]){ int i,j; char t1[20],

2022-05-06 14:15:52 5759 4

原创 输入10个学生5门课的成绩,分别用函数实现下列功能

1.算每个学生平均分:#include<stdio.h>#define N 10#define M 5float a[N][M];int main(void){ void sr(); //声明函数sr void pjf1(); //声明函数pjf1 sr(); //调用函数sr pjf1(); //调用函数pjf1 return 0;} //成绩录入函数 void sr(){ int i,j; for(i=0;i<N;i++){ printf

2022-05-06 00:22:11 10114

Android实验小项目合集(5个)

一些android小项目合集,作为android学习练手。需要的话后期会附上源码

2024-04-20

FTP服务搭建以协议抓包分析实验*(markdown版)

FTP服务搭建以协议抓包分析实验 一、实验环境 二、实验目的 三、实验步骤 1.什么是FTP? 2.什么是vsftpd? 3.搭建FPT服务器 4.连接FTP服务器 三、FTP连接工具 4.1FTP协议抓包分析 4.1FTP链接的建立与断开(TCP一次握手/四次挥手) Q:为什么不是四次挥手? 4.2数据包分析 4.3.FTP常见响应码&应答码 5.FTP的主动模式与被动模式 5.1主动模式(PORT) 5.2被动模式(PASV) 5.3 两种模式的比较 四、实验总结

2023-12-16

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

TA关注的人

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