- 博客(19)
- 资源 (4)
- 收藏
- 关注
转载 51单片机bit、sbin、sfr、sfr_16区别分析
51单片机bit、sbin、sfr、sfr_16区别分析1.bit和sbit都是C51扩展的变量类型。bit和int char之类的差不多,只不过char=8位, bit=1位而已。都是变量,编译器在编译过程中分配地址。除非你指定,否则这个地址是随机的。这个地址是整个可寻址空间,RAM+FLASH+扩展空间。bit只有0和1两种值,意义有点像Windows下VC中的BOOL
2013-11-14 10:08:04 1849
原创 汉诺塔(栈的应用)
#include #define NUM 9 //定义每个柱子最多能放的盘子数(即栈的大小)struct stick{int stick[NUM];int index;} hn[3] = {{{5, 4, 3, 2, 1}, 5},{{}, 0},{{}, 0}};static draw(void){int i, ind
2013-08-14 14:55:54 1171
原创 stack栈入门
#include #include struct node_st {int data;struct node_st *next;};static struct node_st *list = NULL;static int is_empty(void){if (list == NULL) {return 1;}return 0
2013-08-14 09:48:59 612
转载 二分法查找
#include //递归算法int recurbinary(int *a,int key,int low,int high){int mid;if(low > high)return -1;mid = (low + high)/2;if(a[mid] == key) return mid;else if(a[mid] > k
2013-08-14 09:35:50 681
转载 Linux内核双向链表的增删查操作
一、概述 Linux内核中大量使用了链表这个基本数据结构,因此有必要去窥探一下其“葫芦里卖的是什么药”。先来些基本知识点吧:1.数据元素间是一对一关系;2.链表中的元素个数是有限的;3.同一表中各数据元素的类型和长度相同。 二、实现 先上代码,有个感性的认识,后面再解释。 1 #include 2 #i
2013-08-13 21:59:16 1225
转载 快速排序
设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用中间的数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。值得注意的是,快速排序不是一种稳定的排序算法,也就是说,多个相同的值的相对位置也许会在算法结束时产生变动。一趟快速排序的算法是:1)设置两个变量i、j,排序开始的时候:i=0,j=N-1;2)
2013-08-12 21:34:32 472
转载 约瑟夫环问题
#include #include #define N 10int yuesefu1(int data[],int sum,int k){ int i=0,j=0,count=0; while(count { if(data[i]!=0)/*当前人在圈子里*/ j++; if(j==k)/*若该人应该退出圈子*/
2013-08-12 00:21:18 559
原创 双向链表初步
linux下的两个头文件和源码(自定义的~)__________________________________________adt_list.h___________________________________________#include #include #include "dt_char.h"struct adt_list{ dat
2013-08-11 23:27:26 601
转载 螺旋队列
螺旋队列的样子如下图: 两大规律:1。螺旋规律(红线)2。奇数平方规律(紫线) 问题描述: 设1的坐标是(0,0),的方向向右为正,y方向向下为正,例如,7的坐标为(-1,-1),2的坐标为(0,1)。编程实现输入任意一点坐标(x,y),输出所对应的数字! 问题解决:从紫
2013-08-07 20:18:03 524
原创 CPP改写的联系人
#include #include #include #include #include #include #include using namespace std;class date{private: int year; int month; int day;public: void i
2013-08-06 23:48:00 660
原创 用C语言写的联系人(Linux平台,window可能不兼容)
#include #include struct date{ int year; int month; int day;};struct contact{ char name[0x20]; char phone[0x20]; char mail[0x20]; struct date bir
2013-08-05 21:26:41 793
原创 输出菱形的星星
#include #include void draw(int n, char c){while(n--){putchar(c);}}void print(int n){int i;for(i = -n / 2; i {draw(i > 0 ? i : -i, ' ');draw(n - 2 * (i > 0 ? i :
2013-08-04 13:16:42 828
原创 十进制转换为二进制的小程序
#include #include void dec2bin(int n){int m;m = n & 1;if(n > 1){dec2bin(n >> 1);}printf("%d", m);}int main(void){int n;printf("请输入一个十进制数字:");scanf("%d", &n);p
2013-08-04 12:55:36 1542
原创 三种简单的递归
#include #include void f() //递归输出字符串{char c;if((c = getchar()) != '\n'){f();}putchar(c);}int fac(int n) //递归输出10个数{return n > 1 ? fac(n - 1) * n : 1;}int
2013-08-04 12:41:01 500
原创 查找所有包含某个字符的序号
#include #include #include void print(int * a, int n){int i;for(i = 0; i {printf("%3d", a[i]);}printf("\n");}int find(int * a, int n, int start, int value){int i;
2013-08-03 15:32:03 594
原创 三种排序方法:插入、冒泡、选择
#include #include #include #define SIZE 6void print(int * a, int n);void swap(int * a, int * b);int * max(int * a, int n);int * min(int * a, int n);void insert(int * a, int n,
2013-08-01 20:40:40 656
原创 阶乘的算法,代码够简洁吧?
#include #include int main(void){int m = 1, n, i;printf("Input n : ");scanf("%d", &n);for(i = 1; i {printf("%d\n", m);}system("pause");return 0;}
2013-07-30 22:23:20 1131
原创 二进制转换为十进制的小程序
#include #include int main(void){ char c;int m = 0;printf("Input a number : ");while ((c = getchar()) != '\n'){/*方法一m *= 2;m += (c - '0');*//*方法二*/m m |= (c - '0
2013-07-30 22:16:28 1481
原创 (基础编程训练)打印100个数字,0到99每隔十个换一行,前十个数字为01、02、03···········
我知道很多新手都不屑于这样的练习,但是个人觉得基础性的练习还是有必要的,嘿嘿,看看老鸟是如何写代码的吧!#include #include int main(void){int i, j;for(i = 0; i {printf("%02d%c", i, i % 10 == 9 ? '\n' : ' ');}system("pause");
2013-07-30 22:05:11 2507
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人