C语言
imdxt1986
这个作者很懒,什么都没留下…
展开
-
写的一些c语言练习
https://github.com/imdxt原创 2011-11-23 12:08:21 · 561 阅读 · 0 评论 -
程序设计思想及范例(10),查找问题,折半查找
折半查找过程:先确定待查找记录所在的的区间,然后逐步缩小查找范围,直到找到或找不到记录为止。算法描述为int Search(int d,int a[],int n){/*在数组a[]中折半查找等于d的元素,若找到,则函数返回d在数组中的位置,否则为0,其中n为数组长度*/int i;int l,m,hl=0;h=n-1; /*设置区间初始值*/while(l{原创 2011-11-23 16:43:56 · 653 阅读 · 0 评论 -
程序设计思想及范例(9),查找问题,顺序查找
顺序查找过程:从表中的最后一个记录开始,逐个进行记录的关键字与给定值进行比较,若某个记录的关键字与给定值相等,则查找成功,找到所查的记录;反之,若直到第一个记录,其关键字和给定值比较都不相等,则表明表中没有所查的记录,查找失败。算法描述为int Search(int d,int a[],int n){/*在数组a[]中查找等于d元素,若找到,则函数返回d在数组中的位置,否则为0。其原创 2011-11-23 16:43:22 · 679 阅读 · 0 评论 -
程序设计思想及范例(8),排序问题,选择法排序
选择法排序(Selection sort)的基本思想是:每一趟在n-i+1(i=1,2,…,n- 1)个记录中选取最小的记录作为有序序列中的第i个记录。下面介绍简单选择排序(Simple Selection sort).一次简单选择排序的过程如下:通过n-i次比较,在n-i+1个记录中选取最小的记录,并与第i( )个记录交换。算法描述为void sortArry(int a[],int原创 2011-11-23 16:39:31 · 637 阅读 · 0 评论 -
程序设计思想及范例(7),迭代问题
在这里主要介绍其中的非线性方程求根问题,及其两种常用的方法。设有非线性方程(代数方程或超越方程)若存在数字使得,则称为方程的根。在数学中除了极少数的简单方程的根可以通过解析式表达外,一般方程的根都无法用简单表达式来表示,因此必须研究求根的近似值的方法。假设在区间连续,且。根据连续函数的性质知在内至少有一个根,若在假设在区间单调,那么在内有唯一的根。方程求根REF原创 2011-11-23 16:31:28 · 912 阅读 · 0 评论 -
程序设计思想及范例(6),遍历问题,百钱买百鸡问题
百钱买百鸡问题——一百个铜钱买了一百只鸡,其中公鸡一只5钱、母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少)。这是一个古典数学问题,利用现有的数学知识,依然没有办法求解,此问题为具有两个等式和三个未知数的方程组。如何处理这类问题,主要是用到了穷举遍历的方法。首先,确定x,y,z为正整整。由于鸡的总数为100只,因此x,y,z的取值范围之1~100。其次,根据总的钱数原创 2011-11-23 15:17:35 · 2546 阅读 · 0 评论 -
程序设计思想及范例(5),遍历问题,水仙花数/完数问题
统计所有水仙花数的数量,并打印。所谓水仙花数是指满足如下条件的三位数:个位数的立方、十位数的立方和百位数的立方和等于其自身。例如407为一水仙花数,。判断一个三位数是否为水仙花的关键是,求出其个位数、十位数和百位数。百位数计算:a=i/100,求此数被100整除后的商。十位数计算:b=i/10-a*10,求此数被100整除后的余数。个位数计算:c=i%10,原创 2011-11-23 13:33:57 · 1166 阅读 · 0 评论 -
程序设计思想及范例(4),遍历问题,素数问题
判断一个数m是否为素数的基本思路为,遍历从2开始到m-1的所有数字,检查其中是否有m的因子,如果没有找到因子,就说明此数为素数。因此问题的关键是遍历k=2到m-1的所有数字,判断其是否为m的因子,方法是检测m%k的结果是否为0。例10-5 孪生素数是指两个相差为2的素数,例如:3和5,5和7,11和13 等。编程实现输出15对孪生素数。问题的关键依次判断每个数字是否为素数。判断素数的过程则原创 2011-11-23 13:32:03 · 745 阅读 · 0 评论 -
程序设计思想及范例(3),遍历问题,加密计算
信息加密问题是信息社会中一个非常重要的问题,其所涉及的信息的加密算法,如果忽略加密算法的复杂性,此问题同样是一类信息的遍历处理问题。例10-4 从键盘输入一段信息,对其进行简单加密处理。加密规则如下:1) 英文字母:字母的ASCII码+4。如果计算结果在大写字母Z和Z+4之间,或大于小写字母z,则将计算结果减26。2) 其他字符:不处理。根据算法要求构建如下程序if((c>='原创 2011-11-23 13:31:05 · 604 阅读 · 0 评论 -
程序设计思想及范例(2),遍历问题,字符统计问题
在多数的字处理软件中均提供了字符统计功能,下面给出了一个统计字符的简单例子。例10-4 从键盘读入一段文本,统计其中的英文字母、数字、空格和除此之外的其他字符个数。定义变量nChar来存储字符的个数,nNum存储数字的个数,nBlank存储空格的个数,nOther存储其他字符的个数。由于不确定字符的个数,必须构建无限循环while((c=getchar())!=EOF)直到输入特殊原创 2011-11-23 13:30:10 · 500 阅读 · 0 评论 -
程序设计思想及范例(1)求和/求积问题
求和问题的思路比较简单,无非是将所有的项累加起来。对于求和项比较少的情况,还可以构建如下的算术表达式。但是如果求和项比较多,达到上万或几十万个,按上述的方法构建表达式,可能会出现问题。这类问题可以归结如下数学模型。如果令……则,计算的过程即计算S的过程。从上述的计算过程可以归纳出如下的递推规律:递推公式为求和的关键是知原创 2011-11-23 13:24:41 · 988 阅读 · 0 评论 -
汉诺塔问题 递归
/********************************************************FileName:hanoi.cAuthor:Dong XitianVersion:1Function:汉诺(Hanoi)塔问题:古代有一个梵塔,塔内有三个座A、B、C, A座上有64个盘子,盘子大小不等,大的在下,小的在上(如图)。 有一个和尚原创 2011-11-23 13:09:59 · 1644 阅读 · 0 评论 -
内存分布--bss段/Data段/Text段/堆/栈
原文地址:http://blog.chinaunix.net/uid-26977536-id-3212504.htmlBSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。 数据段:数据段(data segment)通常是指用来存放程原创 2012-09-13 17:27:49 · 5969 阅读 · 0 评论