- 博客(18)
- 资源 (1)
- 收藏
- 关注
原创 浅显易懂的TCP三次握手
tcp协议还是在读书时学计算机网络接触到的,那天看脉脉上有人提前这个老生常谈的问题,顺带回忆了一下,也不需要死记硬背,理解就行啦哈哈哈????。---------------------华丽的分割线--------------------tcp报文头部有序号,确认序号,ACK,SYN等控制位。来看看通信时的情况,我比较喜欢把双方简化成a,b两节点,来看看它们之间的通信交互过程:①第1条消息:a节点发起连接请求,你想,咋样才能表示它是请求报文,不就是把SYN这个控制位置上标志(双方约定好),对方才能识
2021-07-19 00:30:26
226
原创 编程实现strcpy函数
#include<stdio.h>void MyStrcpy(char *StrDest,char *StrSrc){ while(*StrSrc!='\0') *StrDest++=*StrSrc++; *StrDest='\0'; /* int i=0; while(StrSrc[i]!='\0') S...
2018-08-08 22:38:49
755
原创 c语言实现将整数转为字符串和字符串转为整数
#include&amp;amp;amp;lt;stdio.h&amp;amp;amp;gt;void main(){ int num=12345; int i=0,j=0; char temp[10],str[10]; printf(&amp;amp;quot;num is:%d\n&amp;amp;quot;,num); //输出原整数 while(num) { te
2018-08-08 22:07:19
18087
1
原创 c语言实现10个数由小到大排序(希尔排序法)
希尔排序:设定一个元素间隔增量gap,将序列按照间隔数gap从第一个元素开始依次分成若干个子序列,在子序列中运用排序方法(如冒泡排序法),然后缩小增量gap重新将整个序列按照新的间隔数gap进行操作,再对每个子序列进行排序,直到间隔数为1为止。 如何选取gap值:经验表示gap取值为序列长度的一半,后一趟排序的gap取值为前一趟gap取值的一般即可。例如序列5,30,7,9,20,10“”操...
2018-08-08 17:30:28
5768
原创 c语言实现10个数由小到大排序(选择排序法)
选择排序:第i趟排序中找出i+1个元素后一个最小的元素,与i位置元素进行交换,直到i=n-1;每一趟排序就是从序列中未排好序的元素中选择一个最小的元素,将该元素与这些未排好顺序的元素的第一个元素进行交换。#include&lt;stdio.h&gt;void SelectSort(int a[],int n){ int i,j,temp,min; for(i=0;i&lt...
2018-08-08 11:41:54
56204
3
原创 c语言实现10个数由小到大排序(插入排序法)
插入排序基本思想:将第i趟排序中的第i个元素插入到一个排好序的子序列中,若是由小到大排序,则将元素temp=a[i]插入到子序列a[0],a[1]…a[i-1]中,将比a[i]元素大的数往后移动,直到找到插入的位置。#include<stdio.h>void InsertSort(int a[],int n){ int i,j; int temp; ...
2018-08-08 10:42:38
23008
2
原创 c语言实现10个数由小到大排序(快速排序法)
快速排序原理: 从序列“2,3,5,7,9,6,4,1,0,8”两端开始 (1)首先将2作为基准数,应用2个变量i和j分别指向序列左端和右端; (2)首先从j左往右寻找一个小于2的数,i从右往左寻找一个大于2的数; (3)找到了0和3进行第一次交换,继续搜索; (4)1和5进行第二次交换; (5)当i和j都到1数值1时,表明第一轮交换结束,将基准数2和1进行交换,以基准数2为分界点,2...
2018-08-07 22:58:35
26442
4
原创 c语言实现10个数由小到大排序(冒泡法)
10个数由小到大排序:冒泡法#include&amp;amp;amp;lt;stdio.h&amp;amp;amp;gt;void BubbleSort(int a[],int n){ int i,j,temp; for(i=0;i&amp;amp;amp;lt;n-1;i++)//比较的趟数 for(j=0;j&amp;amp;amp;lt;n-1-i;j++)//每趟比较的次数 {
2018-08-07 20:55:25
22090
3
原创 c语言实现二分搜索(折半查找法)
#include&lt;stdio.h&gt;int BinSearch(int a[],int num,int n){ int low,mid,high; low=0; high=num-1; while(low&lt;=high) { mid=(low+high)/2; if(a[mid]==n) ...
2018-08-07 20:16:33
1338
原创 c语言统计每个字符出现的次数
#include<stdio.h>#include<string.h>void main(){ char str[20]; int i,num[256]={0}; printf("please input string:"); scanf("%s",str); for(i=0;i<strlen(str);i++) ...
2018-08-07 17:35:12
45396
16
原创 编程实现:输出输入的数之前的所有素数(质数)
素数(质数)定义:一个大于1的自然数,除了1和它本身之外,不能被其他自然数整数,则是素数(质数),否则是合数。#include&amp;lt;stdio.h&amp;gt;#include&amp;lt;math.h&amp;gt;void main(){ int i,j,n,flag=1; printf(&quot;please input number:&quot;); s
2018-08-07 17:21:48
3211
原创 判断单链表是否存在环及其环的的入口节点
判断单链表是否存在环:使用快慢指针的方法,分别设一个slow和fast指针,slow指针每次遍历1个节点,而fast指针每次遍历2个节点,;若fast指针遍历到NULL,说明该链表没有环,当slow==fast(相遇处)指针时,说明该链表存在环。 若该链表存在环:设定一个start指针指向头结点,meet指针指向slow和fast指针相遇处,将start指针和meet指针遍历,start指针和m...
2018-08-07 16:39:42
323
原创 vs2008+opnet14.5+win7教程
一.安装vs和opnet 1.安装软媒魔方 2.安装完成后,找到文件夹,找到virtualdrivemaster.exe,右键点击以管理员身份运行 3.然后找到一个iso文件,右键点击它,你会看到打开方式里多了一个“软媒虚拟光驱“,点击后iso文件就被虚拟光驱加载了,再次点击我的电脑会看到被加载的新盘符,打开后就可以使用iso文件了 4.安装vs ...
2018-08-07 11:29:09
1524
原创 c语言实现双循环链表(创建、增、删、查、改、显示、退出功能)学生管理系统
双循环链表(学生管理系统)#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;#include&lt;windows.h&gt;typedef struct student//定义数据结构体{ int number; char name[20]; char sex[4]; float suiji; fl...
2018-08-07 10:17:38
600
原创 不用if、switch、问号表达式判断两个数大小
//不用if等语句判断两个数大小 #include<stdio.h>void main(){ int a,b,c,d,e,flag; printf("please input number:"); scanf("%d%d",&a,&b); //用flag 0,1判断 flag=(a>b); printf("...
2018-08-06 22:43:51
1339
原创 sizeof用法 ——各种数据类型所占字节数
#include&lt;stdio.h&gt;void main(){ printf("sizeof(1.0L)=%d\n",sizeof(1.0L));//8 long double printf("sizeof(1.0f)=%d\n",sizeof(1.0f));//4 float printf("sizeof(1.0)=%d\n",si
2018-08-06 22:19:49
6700
原创 printf打印顺序问题
printf参数压栈顺序文从右到左,只需记住i++和++i的区别即可 i++会把此时的值当作最后的输出值 i和++i仅仅修改当前i的值,最后才输出i**最后修改**后的值#include<stdio.h>void main(){ int a=0; int b=0; int c=0; printf("a=%d,a=%d,a=%d\n",a,++...
2018-08-06 21:55:34
1273
1
原创 螺旋矩阵的几种打印形式
#include&lt;stdio.h&gt;int a[10][10];void SpiralMatrix1(int N)//从左上角开始顺时针旋转{ int i,j,tp=1; for(i=0;i&lt;N/2;i++)//最外层控制圈数 { for(j=i;j&lt;N-1-i;j++) if(a[i][j]==0) ...
2018-08-06 21:39:43
2707
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人