- 博客(12)
- 收藏
- 关注
原创 选择排序
算法解析用数组 arr[]={3,0,1,8,7}为例:(j变量记录趟数 i变量记录比较次数 ) 分析如下: 数组下标 0 1 2 3 4 初始数据 3 0 1 8 7 第一趟完 0 1 3 8 7 比较4次 j=0~3 i=1~4(首先是arr[0]y与arr[1]比较,最后将arr[0]位置确定) 第二趟完 0 1 3 8
2017-12-22 09:58:26
183
原创 字母塔
问题思想这个字母塔问题首先我们可以把它划分为3个部分 1:空格 2:字母 3:换行 1:空格问题:把空格和行号联系起来(一共有26行) 那么我们定义一个变量j且j与i的关系就是j<=26-i,这样就把空格和行号联系了起来。 第一行i=1有25个空格,j=(1 2 3….25)j每遍历一个值就打印一次空格 共打印25个空格 第二行i=2有24个空格,j=(1 2 3….24)j每遍历一个值就
2017-12-22 09:55:49
1691
原创 快速排序
排序算法思想:从待排序元素序列中取出一个元素(通常选取第一个元素)为基准记录元素,然后将其余元素中小于基准元素的元素移到前面,而将大于或等于基准元素的元素移到后面,结果将带排序元素序列分成了两个子序列,最后将基准记录元素插到分界线处,对分割后的子序列继续按上述原则进行分割,直到所有子序列的长度不超过1为止,此时的待排序记录序列就变成了一个有序序列。快速排序过程:代码如下
2017-12-22 09:49:23
177
原创 大小端模式
小端模式:低位字节排放在内存的低地址端,高位字节排放在内存的高地址端 大端模式:高位字节排放在内存的低地址端,低位字节排放在内存的高地址端#include<stdio.h>void main(){ int i=0x12345678; char *p=(char *)&i;//通过强转将int类型(4字节)转换为char类型(1字节)指针变量p指向i的起始字节(低字节)
2017-12-19 17:57:01
329
原创 实现从float到int的强转
#include<stdio.h>#include<stdlib.h>int float_to_int(float f){ int i; int f_new=*(int *)&f;//float不能直接做位运算 /*符号位*/ int sign=0; if(f_new>>31) //sign初值设置为0 右移31位取出符号位 {
2017-12-19 17:08:21
1904
原创 用筛选法求素数
用筛法求素数的基本思想是:把从1开始的、某一范围内的正整数从小到大顺序排列, 1不是素数,首先把它筛掉。剩下的数中选择最小的 数是素数,然后去掉它的倍数。依次类推,直到“筛子”为空时结束。如有: 1-100的数1不是素数,去掉。剩下的数中2最小,是素数,去掉2的倍数,就是去掉4,6,8,10,12,14,16,18…. 剩下的数中3最小,是素数,去掉3的倍数,就是去掉6,9,12,
2017-12-19 10:43:22
16493
8
原创 可变参数列表
可变参数列表是通过宏来实现的,这些宏定义在stdarg.h头文件中,这个头文件声明了一个类型va_list和三个宏——va_start, va_arg,和va_end我们可以通过声明一个类型为va_list的变量,与这几个宏配合使用,访问参数的值。 下面就让我们通过代码深入的看看va_list 和那三个宏到底是什么?#include<stdio.h>#include<stdarg.h>floa
2017-12-19 10:36:53
174
原创 用c语言实现strcmp
strcmp(字符串1,字符串2):对于两个字符串自左向右逐个字符比较(按ASCII码值大小比较),直到出现不同的字符或遇到‘\0'为止。下面以strcmp(arr,brr)为例第一种:includevoid main(){int i=0;char arr[]="aaaa";char brr[]="aaaab";while(arr[i]!=0&&brr[i]!=
2017-10-23 21:28:28
2046
原创 C语言实现strcpy函数
标准C中的字符串都会以'\0'作为结束符,strcpy函数会将字符串brr的内容考呗到arr中,同时,在arr后面补上'\0'作为结束(同样,brr的结束也是'\0')。例如:strcpy(arr,brr)把字符串brr复制到字符串arr上void main(){char arr[]="hello";char brr[]="world";int j=0;
2017-10-22 09:33:45
10579
2
原创 选择排序
用数组 arr[]={3,0,1,8,7}为例:(j变量记录趟数 i变量记录比较次数 )分析如下:数组下标 0 1 2 3 4初始数据 3 0 1 8 7第一趟完 0 1 3 8 7 比较4次 j=0~3 i=1~4(首先是arr[0]y与arr[1]比较,最后将arr[0]位置确定)第二趟完 0 1 3 8
2017-10-21 11:14:46
148
原创 冒泡排序
数组下标 0 1 2 3 4 5 初始数据 55 33 88 66 22 77第一趟 完 33 55 66 22 77 88第二趟 完 33 55 22 66 77 88第三趟 完 33 22 55 66 7
2017-10-21 09:33:17
394
原创 字母塔
这个字母塔问题首先我们可以把它划分为3个部分 1:空格 2:字母 3:换行1:空格问题:把空格和行号联系起来(一共有26行) 那么我们定义一个变量j且j与i的关系就是j第一行i=1有25个空格,j=(1 2 3....25)j每遍历一个值就打印一次空格 共打印25个空格第二行i=2有24个空格,j=(1 2 3....24)j每遍历一个值就打印一次空格 共打印24个空
2017-10-21 09:31:37
1517
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人