自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 汉诺塔详解

我在做汉诺塔的时候,注意力不能集中,就是因为递归里面的项写不出来。原因其实是如:hanoi(A,C,B)指的是第一个盘子,第三个盘子,第二个盘子,相对于主函数hanio(charA, char B,char C),就是将第一个盘子指定为A盘的位置,第二个盘子指定为C盘的位置,第三个盘子指定为B盘的位置。里面hanio(2,A,C,B)的子递归位置为(A,C,B),所以排序为hanio(1,A,B,C);另一个子递归同理可得,希望能帮助到您。...

2020-11-13 00:47:01 646

原创 僵死进程

僵死进程的产生与避免&怎样产生僵尸进程一个进程在调用exit命令结束自己的生命的时候,其实它并没有真正的被销毁,而是留下一个称为僵尸进程(Zombie)的数据结构(系统调用exit, 它的作用是使进程退出,但也仅仅限于将一个正常的进程变成一个僵尸进程,并不能将其完全销毁)。在Linux进程的状态中,僵尸进程是非常特殊的一种,它已经放弃了几乎所有内存空间,没有任何可执行代码,也不能被调度,仅仅在进程列表中保留一个位 置,记载该进程的退出状态等信息供其他进程收集。除此之外,僵尸进程不再占有任何内

2020-08-11 17:51:48 285

原创 有名管道与无名管道的区别

有名管道与无名管道的区别无名管道:管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程)。单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一种文件系统,并且只存在与内存中。有名管道:不同于管道之处在于它提供一个路径名与之关联,以FIFO的文件形式存在于文件系统中。这样,即使与FIFO的创建进程不存在亲缘关系的进程,只要可以访问该路径,就能够彼

2020-08-11 17:37:35 2705

原创 递归采用栈的方法

递归:一层一层套入,采用栈独特的结构先进后出。从5->4->3->2->1. 得到n=1然后将10给到n=2,再给到n=3,然后给到n=4,最后给到n=5。通过栈层层出来。...

2019-11-04 00:36:59 425

原创 scanf来代替gets

// %[]可以用来进行多个字符的输入,并对结束符进行自定义。// 对于%[]还可以用^+任意字符(包括 ABC)来结束字符串的输入。// 比如%[^stop]就是直到有stop 输入,字符串才中止。![在这里插入图片描述](https://img-blog.csdnimg.cn/20191031224720369.png#include <stdio.h>void main...

2019-10-31 22:50:21 816

原创 杨辉三角求解

#include<stdio.h>void PascalTriangle(){ #define ROW 10 int arr[ROW][ROW]; for(int i=0;i<ROW;i++) { for(int j=0;j<=i;j++) { if(j==0 || i==j) { arr[i][j] = 1; } ...

2019-10-28 15:22:31 152

原创 一维数组和二维数组

一维数组int arr[4];arr: 指的是数组首地址arr+1 :地址+1arr[0]: 首地址的值arr[0]+1 :地址+1的值二维数组int brr[3][4]由于二维数组是以行行优先,所以将每行的值“打包”成一个整体。brr: 二维数组首地址brr+1:下一行首地址brr[0]: 第一行数组的首地址brr[0]+1 :第一行数组首地址+1brr[0][0]:...

2019-10-27 23:36:02 189

原创 Swap用指针交换两个数

void Swap(int *p1,int *p2)//ok{ int tmp ; tmp = *p1; *p1 = *p2; *p2 = tmp;}int main(){ int a = 10; int b = 20; printf("%d,%d\n",a,b); Swap(&a,&b); printf("%d,%d\n",a,b);}总结:子函数...

2019-10-22 00:48:09 413

原创 用“选择法”对10个整数排序

int main(){ int i,j,tmp,a[10]; scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",&a[1],&a[2],&a[3],&a[4],&a[5],&a[6],&a[7],&a[8],&a[9],&a[10]);//先输入10个数 printf("\n"); ...

2019-10-21 15:33:30 1161

原创 用“筛选法”求100以内素数

int main(){ int i,j,n,a[101];//为了使数和下标一一对应 for(i=1;i<=100;i++) { a[i]=i; a[1]=0; } for(i=2;i<sqrt(1.0*100);i++) { for(j=i+1;j<=100;j++) { if(a[i]!=0 && a[j]!=0)...

2019-10-21 15:15:09 1163

原创 辗转相除法求最大公约数

int Max(int m,int n){ int r; scanf("%d,%d",&m,&n); while((r=m%n)!=0) { m=n; n=r; } printf("%d\n",n);}主要思想:用较大数除以较少数,用出现的余数(第一次余数)去除除数。再用出现的余数(第二次余数)去除本式的除数,以此类推,直到最后余数为0。那么最后一次除...

2019-10-20 14:27:05 167

原创 斐波那契数列

int Fibon(int n){ int f1 = 1; int f2 = 1; int f3 = 2; for(int i=2;i<n;i++) { f3 = f1 +f2; f1 = f2; f2 =f3; } return f3;}主要思想:将斐波那契数列想象成按顺序排列的三个空,通过前两个数,得出第三个,再将后两个空按顺序放置第一第二空位置,以此类...

2019-10-20 14:15:20 201

原创 几进制的判断

16.假设在n进制下,下面的等式成立,567*456=150216,n的值为?A. 9 B. 10 C.12 D.18遇到这类难题时,不论几进制。1.首先我们先写出通式567456 = (5n^2 +6n+7) * (4n^2 +5n+6) ; 150216 = n^5 + 5n^4 + 2n^2+...

2019-10-16 23:32:08 331

原创 随意给出一个整数,要求:1.求出它的位数 2.逆序输出每位数字 3.顺序输出每位数字

1 先求这个数的位数1234 /10 123 (1)123 /10 12 (2)12 /10 1 (3)1 /10 0 (4)人都是通过掰10个手指来运算数的位数生活中大部分的数都是10进制由此得出了通过将整数10整除...

2019-10-10 20:58:31 482 3

空空如也

空空如也

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

TA关注的人

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