- 博客(23)
- 资源 (3)
- 收藏
- 关注
原创 如何用VC6.0创建动态链接库
1.打开VC6.0,选择【文件】--【新建】--【工程】--【Win32 Dynamic-LinkLibrary】 工程名称(自定):【MyDll】 位置(自定,这里我选择的是E盘下的Test文件夹):【E:\Test\】 ---【确定】--【一个空的DLL工程(E)】--【完成】--【确定】2.【文件】--【新建】--【C/C++ Header File】
2013-11-13 20:04:36
1487
原创 C语言数据结构单链表的一些基本操作
#include #include typedef struct ListNode { //单链表存储结构 int data; //数据域 struct ListNode * next;//指针域}LNode, * pNode; //LNode等价于struct ListNode
2013-10-19 23:54:56
1000
原创 找出区间 [a,b] 中能被 7 整除或含有数字 7 的数的个数
找出区间 [a,b] 中能被 7 整除或含有数字 7 的数的个数?例如21、171等,输入a和b作为查找的区间啊[a,b],输出能被7整除或含有数字7的数的个数。如果对于C的初学者确实有点难度,但了解过一些整除转换为字符串的,在字符串查找某个字符的函数就容易了。不管怎样,先了解一下比较复杂,也是我个人编写的,思路是这样的,先判断最高位是否含7,接着判断中间位是否含7,最后判断最低位是否含7和是否能
2013-10-07 12:56:09
5965
3
原创 C语言实现逆序数
逆序数的就是把一个数倒过来,例如:1234那么它的逆序数就为4321,我们该如何是实现呢?当初我是先求出它的位数,接着求余数,余数再乘上所对应的的10的次方,其实10的次方也有专门的函数pow()。刚开始的程序比较复杂#include #include void main(){ int number, k, fig=0, i, j, num, sum=0; printf("
2013-10-06 18:46:23
39639
8
原创 随机函数
随机函数1当我们要实现几个不同的随机数时可以用rand()函数,但这种实现不是绝对,只是尽可能都不同。rand()函数包含在sdlib.h这个头文件中。下面给个实例,求随机产生10个不同的数?#include #include void main(){ for(int i=0; i<10; i++) { printf("%d ", rand()); }}
2013-10-06 15:46:55
820
原创 顺序表的合并
顺序表的合并的前提是合并的两个顺序表都要有序,你可以升序也可以降序,合并后的顺序表的是否为升序或降序就看内部代码的判断,当你输入完两个顺序表的时候,也可以调用冒泡法排序的函数,或者你先初始化两个有序的顺序表。本篇就直接输入有序的顺序表,具体的实现过程代码中有解释。/* 顺序表的合并要满足两个顺序表都是有序的!!*/#include #define N 50 int A[N]=
2013-10-06 14:52:56
4356
3
原创 冒泡法排序
冒泡法排序在刚学编程语言的时候都经常接触,当刚接触时总是很疑惑,明明感觉自己掌握了,过了一阵子感觉又不会了,其实冒泡的原理很简单,自己动手排序一次,就能体验到冒泡如何的冒泡,但数组的个数不要太多。冒泡法对一个数组进行排序,里面的数据可以有相同也有不相同,同时实现冒泡的时候用到双重循环,第一个for循环是用来控制排序要跑的趟数,比如说你的数组只有一个数据,那还用排序吗??如果N个数据那就要减去那个数
2013-10-06 11:39:34
982
原创 顺序表的删除3
前一篇的顺序表的删除只考虑了删除一个值,当顺序表有多个相同的值要删除的时候就得删除多次了删除一个值后得继续判断后面的值是否相同,所以删除一个值得时候要把后面的值向前移动,移动后继续遍历#include #define N 50 int a[N]={0};void CreateArr(int *a, int len) //创建顺序表{ printf("请输入%d个整型数据
2013-10-05 22:41:38
744
原创 利用打印九九乘法表的思想输出字母的三角形
前面写过九九乘法表的各种输出形式,今天遇到一个题目是输出字母的三角形其实很简单也是利用了双重循环,这里就只提供跟输出九九乘法表形式类似的代码#include void main(){ int i, j, k; for(i=0; i<26; i++) { k = 97; for(j=0; j<26; j++) { if(i>=25-j) p
2013-10-05 01:00:36
1571
原创 顺序表的删除2
顺序表的删除上篇只是按位置删除,按位置删除只要把删除的位置的后面的数据向前移动,本篇按值删除,对数组中的每个数据顺序比较,查找到了就记录下标,缺点是数组中的每个数据都应该不相同,对后面相同的数据没有做到删除的效果,只是针对不同数据的数组进行删除。#include #define N 50 int a[N]={0};void CreateArr(int *a, int len)
2013-10-01 13:16:19
590
原创 顺序表的删除1
顺序表的按位置删除是顺序表中删除操作中比较简单的,只要把相对于的位置上的数据删除后,然后把删除位置后面的位置向前逐一移动,然后返回顺序表长度减1后的长度。#include #define N 50 int a[N]={0};void CreateArr(int *a, int len) //创建顺序表{ printf("请输入%d个整型数据:\n",len); for(
2013-09-17 23:00:44
732
原创 顺序表的插入
顺序表的数组是足够大,当插入一个数据,我们可以把插入位置的数据和后面的数据都逐一后移,把要想插入的数据插入所想要插入的位置,当插入完数据后,要返回顺序表增加1后的长度。#include #define N 50 int a[N]={0};void CreateArr(int *a, int len) //创建顺序表{ printf("请输入%d个整型数据:\n",len);
2013-09-17 22:40:07
993
原创 顺序表的查询
当要实现顺序表的查询的时候,查询的函数就多了一个形参,此形参用来传递查询的数据,如果查询到要查找的数据就返回1,否则返回0来判断。#include #define N 10int FindElement(int *a, int len, int x) //顺序表的查询{ for(int i=0; i<len; i++) { if(a[i]==x) return 1;
2013-09-17 21:51:14
753
原创 顺序表的创建
顺序表的存储采用数组的形式进行存储,在不知道顺序表的长度有多长时,通常采用浪费法,先定义足够大的数组,也有可能定义的数组不能满足需求,也许这就是顺序表的缺点吧,顺序表的基本操作有插入、删除、查询等。顺序表的操作都少不了数组的首地址和数组的长度。顺序表的创建:#include #define N 50 int a[N]={0};void CreateArr(int *a, in
2013-09-17 21:36:40
925
原创 汉诺塔简单图形设计思想4(C)
前面已经做了设计汉诺塔的一些工作,接下来我们该如何相对完整的实现汉诺塔的问题了,从开始的设计汉诺塔图形(呵呵没有颜色不算图形吧),之后了解汉诺塔的递归过程,现在就是如何把设计图形和递归的过程结合在一起呢?我做了也就120多行的代码,简简单单把汉诺塔游戏的演示过程设计出来了,其中这思想来源于书本,可是书本上太多错误了源代码也无法运行,有些还看不懂,只能根据它的设计思想,然后到网上查找汉诺塔的过程,才
2013-09-15 10:43:16
1053
原创 汉诺塔简单图形设计思想3(C)
汉诺塔的基本图形设计完了,我们将要设计汉诺塔游戏的内部运行的代码了,汉诺塔的演示的操作可以用函数递归调用的问题,至于其他方法我就没去了解了,这个递归的过程和详细解释也不太好讲,大家可以到网上了解,我到网上找到了一张汉诺塔如何实现递归的图解如下程序:#include void Hanoi(int ,char ,char, char);void Display(char, char
2013-09-15 10:21:04
1056
原创 汉诺塔简单图形设计思想2(C)
先前发表了如何设计一个动态简单的汉诺塔初始化图形,下面进一步学习如何设计三个汉诺塔,一个汉诺塔就不叫汉诺塔游戏了,其中一个有盘子的汉诺塔已经设计好了,还有两个用来转移汉诺塔的盘子,也就设计成一个没有盘子的柱子就行了。经过改进,增加了两个二维字符数组,中间控制打印图形方面的算法也稍微改了一些,简单的汉诺塔图形就初步形成了。图形如下:代码如下:#include #define N
2013-09-15 00:26:56
1366
原创 汉诺塔简单图形设计思想1(C)
我们都知道汉诺塔游戏,在C语言程序设计中,我们也可以简单的设计出它的图形,但是如何动态设计初始化汉诺塔的层数呢?这看起来有点棘手,但是只要观察其中的规律就可以用for循环语句的嵌套和if...else语句的嵌套设计出,至于更复杂的填充颜色这里就不说了,只以学习其中的一些算法和思想为目的下面为是实现效果:代码如下:#include #define N 10 //数组的行 #
2013-09-14 23:37:14
1937
原创 多重循环for如何简单设计打印图案(C++)
我们都知道九九乘法表、二维数组、排序算法等都用到for循环语句,for的作用是很强大,但是仅仅是一个for或许感觉挺简单,但是多个for的循环多个变量结合在一起的时候就会搞混,甚至得一步一步的观察程序运行的情况,下面通过两个简单的例子,来简单的学习一下for与多个变量结合打印图案的算法。例一:打印如下图案:代码如下:#include using namespace s
2013-09-13 08:43:04
2930
3
原创 通过指针简单创建动态的数组(C)
我们都知道数组名就是数组的首地址,指针的作用的就是存放地址,通过指针可以变相的创建动态的数组。首先我们可以用一个整型变量根据需要动态的分配空间举个简单的程序:#include #include void main(){ int len; printf("请问你要输入几个数据\n"); scanf("%d",&len); int * pArr = (int *)malloc(s
2013-09-11 17:02:01
1383
原创 九九乘法表的各种输出形式(C)
完整的九九乘法表#include void main(){ int i, j; for( i = 1; i <= 9; i++ ) { for( j = 1; j <= 9; j++ ) printf("%d*%d=%2d ",i,j,j*i); printf("\n"); }}左下三角左下三角#include void main(){ int i
2013-09-10 22:55:33
2894
原创 九九乘法表的各种输出形式(c++)
完整的九九乘法表#include using namespace std;#include void main(){ int i, j; for(i=1; i<=9; i++) { for(j=1; j<=9; j++) cout<<i<<"*"<<j<<"="<<setw(2)<<i*j<<" "; cout<<endl; }}左下三角列随行而增加
2013-09-10 22:46:01
7480
原创 编写程序实现求1~500以内的所有素数,同时指定每行输出5个素数。(C++)
刚编写这一道程序的时候没想很多,打开编译器直接敲代码,一直敲一直敲,想到哪里就敲到哪里,然后一直Debug,后来我才发现我犯了一个很严重的错误,就是知道一道题问什么,却不知道如何设计这道简单的程序题。下面就讨论一下我是如何设计编写这道程序的,希望能给大家带来帮助。1.虽然这是一道程序题,但你要知道这道程序问的是什么?简单的来说就是求素数,既然求素数,那什么叫素数呢?除了能够被1和它自己本身整除
2013-09-10 20:36:12
26770
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人