C
文章平均质量分 75
milkcu
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
取球博弈--蓝桥杯
简述这是2012年蓝桥杯全国软件大赛预赛(C++本科组)第10题,实质是已知球的数量,规定取球方法,判断先取球的人的输赢。推荐链接:《2012蓝桥杯软件大赛预赛题目汇总》题目描述 今盒子里有n个小球,A、B两人轮流从盒中取球,每个人都可以看到另一个人取了多少个,也可以看到盒中还剩下多少个,并且两人都很聪明,不会做出错误的判断。 我们约定: 每个人从盒子中取原创 2013-04-24 23:46:11 · 2526 阅读 · 0 评论 -
分红酒--蓝桥杯
题目描述标题:分红酒 有4个红酒瓶子,它们的容量分别是:9升, 7升, 4升, 2升 开始的状态是 [9,0,0,0],也就是说:第一个瓶子满着,其它的都空着。 允许把酒从一个瓶子倒入另一个瓶子,但只能把一个瓶子倒满或把一个瓶子倒空,不能有中间状态。这样的一次倒酒动作称为1次操作。 假设瓶子的容量和初始状态不变,对于给定的目标状态,至少需要多少次操作才能实现? 本原创 2013-04-19 23:59:41 · 2703 阅读 · 2 评论 -
C语言指针操作
原创:C语言指针操作作者:MilkCu摘要:指针是C语言的核心,也是一个普通变量,存储的是内存中的地址。在存储空间的分配中,一种常遵循的理念是,由用户管理存储空间以及与存储空间相关的实际的数据结构,而数据结构自身只用于维护数据内部变量的存储空间的分配。C语言使用基于堆的内存分配,通常也称作动态存储分配。指针基础一个指针其实只是一个变量,它存储数据在内存中的地址,而不是存储数据本身。原创 2014-04-05 12:52:35 · 1436 阅读 · 0 评论 -
连号区间数 - 蓝桥杯
标题:连号区间数 - 蓝桥杯内容:2013年第四届蓝桥杯全国软件大赛预赛,第10题。作者:MilkCu题目描述标题:连号区间数小明这些天一直在思考这样一个奇怪而有趣的问题:在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是:如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到一个长度为R-L+1的“连续”数列,则称这个区间原创 2013-06-14 17:34:06 · 3712 阅读 · 5 评论 -
星期几--蓝桥杯
前言本题摘自“2012年第三届蓝桥杯全国软件大赛决赛(C本科)”第1题,由MilkCu整理。题目描述 1949年的国庆节(10月1日)是星期六。 今年(2012)的国庆节是星期一。 那么,从建国到现在,有几次国庆节正好是星期日呢? 只要答案,不限手段! 可以用windows日历,windows计算器,Excel公式,。。。。。原创 2013-04-29 15:28:41 · 1975 阅读 · 8 评论 -
打印字符频度直方图--C语言实现
前言该题摘自Kernighan的《C程序设计语言》第17页练习1-14。编写一个程序,打印输入中各个字符出现频度的直方图。对应的参考书中提供了一种解法,但是没有想象之中的美妙。于是乎,自己动手写代码。源代码我的代码,自我感觉良好。# include int main(void){ int a[26]; int c; int i; int j; for(i原创 2013-04-28 22:50:27 · 1645 阅读 · 0 评论 -
密码发生器--蓝桥杯
简述这是2012年第三届蓝桥杯全国软件大赛预赛(C++本科组)的第8题,问题是对字符串的处理。推荐链接:《2012蓝桥杯软件大赛预赛题目汇总》题目描述 在对银行账户等重要权限设置密码的时候,我们常常遇到这样的烦恼:如果为了好记用生日吧,容易被破解,不安全;如果设置不好记的密码,又担心自己也会忘记;如果写在纸上,担心纸张被别人发现或弄丢了... 这个程序的任务就是把一原创 2013-04-25 19:29:18 · 2028 阅读 · 13 评论 -
奇怪的比赛--蓝桥杯
简述这是2012年蓝桥杯全国软件大赛预赛(C++本科组)的第4题,情景是一个计分规则奇怪的比赛,问题是已知总分得到每题的回答情况。推荐链接:《2012蓝桥杯软件大赛预赛题目汇总》题目描述 某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪: 每位选手需要回答10个问题(其编号为1到10),越后面越有难度。答对的,当前分数翻倍;答错了则扣掉与题号相同的分数(选手必须原创 2013-04-25 17:34:23 · 2555 阅读 · 4 评论 -
古堡算式--蓝桥杯
简述这是2012年蓝桥杯全国软件设计大预赛第2题,问题是求出字母对应的数字。推荐链接:《2012蓝桥杯软件大赛预赛题目汇总》题目描述 福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA 他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!” 华生:“我猜也是!” 于是,两人沉默了好原创 2013-04-25 16:56:41 · 1723 阅读 · 2 评论 -
C语言的静态变量声明static
static声明外部变量static的作用域限定为被编译源文件的剩余部分,不会和同一程序中的其他文件中的相同的名字相冲突。static声明函数除了对该函数声明所在的文件可见外,其他文件都无法访问。static声明内部变量该变量只能在特定函数中使用,但一直占据存储空间。变量的值不会因函数的结束而变化,static声明的变量可以起到外部变量的一部分作用。测试代码如下,返回值为1原创 2013-04-14 00:29:08 · 2587 阅读 · 0 评论 -
2012蓝桥杯软件大赛预赛题目汇总
简述这是2012年第三届蓝桥杯全国软件大赛预赛(C++本科组)的试题,题目解答见相关链接。其他题目改天整理。题目汇总2012蓝桥杯C++本科题目汇总(预赛)编号题目题型分值我的答案1微生物增值结果填空3http://blog.youkuaiyun.com/milkcu/article/details/8801169原创 2013-04-25 21:57:23 · 3550 阅读 · 0 评论 -
2013蓝桥杯试题汇总
简述这是2013年第三届蓝桥杯全国软件大赛的所有相关试题的汇总,暂时仅包括模拟赛,随着试题的发布本博客将及时更新。试题汇总模拟赛2013蓝桥杯模拟题编号试题题型分数我的解答11的个数结果填空10http://blog.youkuaiyun.com/milkcu/article/details/88258522硬原创 2013-04-26 17:17:31 · 5014 阅读 · 2 评论 -
指向函数的指针(续) - C语言
标题:指向函数的指针(续) - C语言内容:前面写过《指向函数的指针 - C语言》,本文将在数组指针的基础上对函数的指针探究。作者:MilkCu数组名与数组名取地址我们先来做个关于数组的小实验:# include int main(void){ int a[2] = {3, 4}; printf("a = %d\n", a); printf("&a = %d\n",原创 2013-06-11 15:08:40 · 1932 阅读 · 0 评论 -
矩阵相乘的一维数组实现
矩阵相乘,听起来很简单,首先想到的是二维数组实现。那用一维数组如何实现呢?其实多维数组在本质上也是一维数组。源代码如下,一个小小的程序,却总是因为某个字母而出错。# include # define MAX 1000int main(void){ int a[MAX], b[MAX]; int ma, na; int mb, nb; //na == mb //matrix原创 2013-05-21 20:01:38 · 2371 阅读 · 0 评论 -
由limits.h看整型范围
前言声明一个变量,经常要考虑的问题是这个类型的变量能不能装的下。今天MilkCu就总结下吧,以解除后顾之忧。关于变量取值范围的问题,在Kernighan的《C程序设计语言》第28页练习2-1就提到过。编写一个程序以确定分别由signed及unsigned限定的char、short、int与long类型变量的取值范围。采用打印标准头文件中的相应值以及直接计算两种方式实现。后一种方式的实现原创 2013-04-30 23:12:59 · 1870 阅读 · 0 评论 -
画表格--蓝桥杯
简述这是2013年蓝桥杯全国软件大赛模拟题的第4题,问题是画表格。题目描述标题:画表格在中文Windows环境下,控制台窗口中也可以用特殊符号拼出漂亮的表格来。比如: ┌─┬─┐ │ │ │ ├─┼─┤ │ │ │ └─┴─┘ 其实,它是由如下的符号拼接的: 左上 = ┌原创 2013-04-19 23:13:34 · 2214 阅读 · 3 评论 -
微生物增值--蓝桥杯
简述这是2012年第三届蓝桥杯全国软件大赛预赛(C++本科组)第一题。推荐链接:《2012蓝桥杯软件大赛预赛题目汇总》题目描述假设有两种微生物 X 和 Y,X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。现在已知有新出生的 X=10, Y=89,求60分钟后Y的原创 2013-04-14 21:25:01 · 2185 阅读 · 0 评论 -
队列的多种C语言实现
标题:队列的多种C语言实现内容:队列是先进先出(FIFO)的线性表,C语言中可以使用数组、全局变量、引用实现队列。作者:MilkCu概念队列的操作队列是受限制的线性表,只允许在队尾(tail)插入、对头(head)删除。队列的操作方式与堆栈类似,唯一的区别在于队列只允许新数据在后端进行添加。队列的属性以队列q为例。q.head指向队头元素;q.tail指向下原创 2013-06-11 17:21:13 · 1127 阅读 · 0 评论 -
带哨兵的双向循环链表的C语言实现
标题:带哨兵的双向循环链表的C语言实现内容:链表是一种基本的链式存储结构,带哨兵的双向循环链表更是一种方便的数据结构。作者:MilkCu定义双向链表,也叫双链表,是链表的一种。它的每个数据节点含有两个指针,分别指向前驱和后继。在带哨兵的双向循环链表中,我们可以方便的访问任意节点的前驱节点和后继节点。实现下面的程序能够对双向链表实现元素的查找、插入、删除等操作,其中main函原创 2013-06-11 16:52:01 · 1914 阅读 · 0 评论 -
单链表的表示和实现 - 数据结构
基本概念链式存储结构,不要求逻辑上相邻的元素在物理上也相邻,没有顺序存储结构所具有的的弱点(在作插入或删除操作是,需移动大量元素),但同时也失去了顺序表可随机存取的优点。单链表的结点由数据域和指针域构成,多个结点链结成一个链表。代码实现# include # include # define OK 1# define ERROR -1# define OVERFLOW -2原创 2013-05-20 21:23:18 · 1152 阅读 · 0 评论 -
strcmp()与strcmpi()函数 - C语言
strcmp()函数函数名: strcmp功能: 串比较用法: int strcmp(char *str1, char *str2);less than 0 - str1 is less than str2equal to 0 - str1 is equal to str2greater than 0 - str1 is greater than str2测试函原创 2013-05-19 23:05:10 · 4184 阅读 · 0 评论 -
打印单词长度的直方图--C语言的多种实现
题目要求该题摘自Kernighan的《C程序设计语言》第17页练习1-13。编写一个程序,打印输入中单词长度的的直方图。水平方向的直方图比较容易绘制,垂直方向的直方图则要困难些。经过这本C语言圣经第一章的调教,发现getchar()原来那么强大。多种实现方案一:声明state变量,用来记录程序当前是否正位于一个单词之中,这样便于理解。# include # defin原创 2013-04-26 23:03:18 · 2843 阅读 · 3 评论 -
黄金连分数 - 蓝桥杯
标题:黄金连分数 - 蓝桥杯内容:2013年第四届蓝桥杯全国软件大赛预赛第4题。作者:MilkCu题目描述标题: 黄金连分数黄金分割数0.61803... 是个无理数,这个常数十分重要,在许多工程问题中会出现。有时需要把这个数字求得很精确。对于某些精密工程,常数的精度很重要。也许你听说过哈勃太空望远镜,它首次升空后就发现了一处人工加工错误,对那样一个庞然大物,其实只是镜面加原创 2013-06-15 23:04:41 · 9391 阅读 · 7 评论 -
带分数 - 蓝桥杯
标题:带分数 - 蓝桥杯内容:2013年蓝桥杯全国软件大赛预赛,第9题。补充了memset()和memcpy()两个函数,在数组赋值中常用到。作者:MilkCu题目描述标题:带分数100 可以表示为带分数的形式:100 = 3 + 69258 / 714还可以表示为:100 = 82 + 3546 / 197注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)原创 2013-06-15 21:28:44 · 7967 阅读 · 7 评论 -
错误票据 - 蓝桥杯
标题:错误票据 - 蓝桥杯内容:2013年第四届蓝桥杯全国软件大赛预赛第7题,第一次使用ungetc()函数。作者:MilkCu题目描述标题:错误票据某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号原创 2013-06-13 23:04:55 · 7491 阅读 · 10 评论 -
const限定符声明 - C语言
const用法任何变量的声明都可以使用const限定符限定。该限定符指定变量的值不能修改。对数组而言,const限定符指定数组所有元素的值都不能修改:const double e = 2.71828182845905;const char msg[] = "warning: ";const限定符也可配合数组参数使用,它表明函数不能修改数组元素的值:int strlen(const原创 2013-05-19 23:07:47 · 1293 阅读 · 0 评论 -
三元组--数据结构
摘自《数据结构:C语言版》(严蔚敏,吴伟民编著)第12页例1-7。抽象数据类型Tiplet的表现与实现。C语言(本书未直接采用类和对象等设施,而是从C语言中精选了一个核心子集,并增添C++语言的引用调用参数传递方式等,构成一个类C描述语言)源代码如下:# include # include # define TRUE 1# define FALSE 0# define原创 2013-05-18 12:46:38 · 2232 阅读 · 0 评论 -
打印杨辉三角--C语言小程序
简述杨辉三角是二项式系数在三角形中的一种几何排列,n次二项式系数对应杨辉三角形的n+1行。该程序的作用是打印10行杨辉三角,用到的只是两个循环的嵌套,并用二维数组存储。效果如图所示:源代码# include # define MAXH 10 //杨辉三角的高度 int main(void){ int n[MAXH][2 * MAXH + 2]; int i, j原创 2013-04-25 16:40:06 · 7755 阅读 · 0 评论 -
“拼音字母”--蓝桥杯
题目描述【编程题】(满分19分) 在很多软件中,输入拼音的首写字母就可以快速定位到某个词条。比如,在铁路售票软件中,输入: “bj”就可以定位到“北京”。怎样在自己的软件中实现这个功能呢?问题的关键在于:对每个汉字必须能计算出它的拼音首字母。 GB2312汉字编码方式中,一级汉字的3755个是按照拼音顺序排列的。我们可以利用这个特征,对常用汉字求拼音首字母。原创 2013-04-24 23:23:25 · 1954 阅读 · 2 评论 -
2013蓝桥杯预赛试题汇总
标题:2013蓝桥杯预赛试题汇总内容:2013年第四届蓝桥杯全国软件大赛预赛题目汇总,内容主要是是将我的博客中以前发过的零零散散的文章和题目,以链接的形式罗列一下。有幸山东赛区预赛一等奖,梳理一下试题,希望对决赛有点帮助。在整理的过程中,我也学习了他人的思想,希望我的博客也能够帮助到别人。作者:MilkCu汇总表格2013年第四届蓝桥杯预赛本科B组(C语言)编号原创 2013-06-15 23:36:21 · 6669 阅读 · 0 评论 -
三部排序 - 蓝桥杯
标题:三部排序 - 蓝桥杯内容:2013年第四届蓝桥杯全国软件大赛预赛第6题,代码填空题。三部排序,提供了一种小算法,小思维。作者:MilkCu题目描述标题:三部排序一般的排序有许多经典算法,如快速排序、希尔排序等。但实际应用时,经常会或多或少有一些特殊的要求。我们没必要套用那些经典算法,可以根据实际情况建立更好的解法。比如,对一个整型数组中的数字进行分类排序:原创 2013-06-12 18:51:54 · 4013 阅读 · 0 评论 -
放棋子--蓝桥杯
简述这是2012年第三届蓝桥杯全国软件大赛预赛(C++本科组)第7题,要求将代码补全,实现“每行每列都正好有3颗棋子”的功能。推荐链接:《2012蓝桥杯软件大赛预赛题目汇总》题目描述 今有 6 x 6 的棋盘格。其中某些格子已经预先放好了棋子。现在要再放上去一些,使得:每行每列都正好有3颗棋子。我们希望推算出所有可能的放法。下面的代码就实现了这个功能。 初始数组原创 2013-04-25 20:38:46 · 1994 阅读 · 0 评论 -
方阵旋转--蓝桥杯
简述这是2012年蓝桥杯全国软件大赛预赛(C++本科组)第5题,问题是矩阵的旋转。推荐链接:《2012蓝桥杯软件大赛预赛题目汇总》题目描述 对一个方阵转置,就是把原来的行号变列号,原来的列号变行号 例如,如下的方阵: 1 2 3 4 5 6 7 8 9 10 11 1213 14 15 16 转置后变为: 1 5原创 2013-04-25 17:47:23 · 1995 阅读 · 0 评论 -
“硬币方案”--蓝桥杯
题目描述标题:硬币方案有50枚硬币,可能包括4种类型:1元,5角,1角,5分。已知总价值为20元。求各种硬币的数量。比如:2,34,6,8 就是一种答案。而 2,33,15,0 是另一个可能的答案,显然答案不唯一。你的任务是确定类似这样的不同的方案一共有多少个(包括已经给出的2个)?直接提交该数字,不要提交多余的内容。分析这是2013蓝桥杯模拟题的第二题,使用枚原创 2013-04-19 20:48:44 · 1923 阅读 · 0 评论 -
1的个数--蓝桥杯
题目描述标题: 1的个数从1到20的所有数字中含有多少个“1”仔细数一下,应该是12个。那么从1到1000的整数中,含有多少个“1”呢?请填写该数字。分析整除问题,比较简单,毕竟模拟题第一题,和以前思考的一个问题(分治算法)相像。源代码# include int main(void){ int i, j; int n; n = 0; fo原创 2013-04-19 20:36:20 · 2155 阅读 · 2 评论 -
大数乘法--蓝桥杯
简述这是2012年蓝桥杯全国软件大赛预赛(C++本科组)第6题,有图片可知是个简单的大数计算的问题。推荐链接:《2012蓝桥杯软件大赛预赛题目汇总》题目描述 对于32位字长的机器,大约超过20亿,用int类型就无法表示了,我们可以选择int64类型,但无论怎样扩展,固定的整数类型总是有表达的极限!如果对超级大整数进行精确运算呢?一个简单的办法是:仅仅使用现有类型,但是把大整数原创 2013-04-25 17:59:55 · 1874 阅读 · 0 评论 -
翻硬币 - 蓝桥杯
标题:翻硬币 - 蓝桥杯内容:2013年第四届蓝桥杯全国软件大赛预赛,第8题。作者:MilkCu题目描述题目标题:翻硬币小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。比如,可能情形是:**oo***oooo如果同时翻转左边的两个硬币,则变为:oooo***oooo现在小明的问题是:如果已原创 2013-06-14 16:57:53 · 4775 阅读 · 1 评论 -
海盗比酒量--蓝桥杯
简述这是2012年蓝桥杯全国软件大赛预赛的第三题,情景是海盗喝酒,问题是每瓶酒后未倒下的人数。推荐链接:《2012蓝桥杯软件大赛预赛题目汇总》题目描述 有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒下的,再次重复...... 直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。当第4瓶酒平分原创 2013-04-25 17:13:34 · 2405 阅读 · 1 评论 -
分红酒 - 蓝桥杯 - 已更新
引言这是2013年蓝桥杯全国软件大赛模拟题的第4题,问题是分红酒,方法是BFS。题目描述标题:分红酒 有4个红酒瓶子,它们的容量分别是:9升, 7升, 4升, 2升 开始的状态是 [9,0,0,0],也就是说:第一个瓶子满着,其它的都空着。 允许把酒从一个瓶子倒入另一个瓶子,但只能把一个瓶子倒满或把一个瓶子倒空,不能有中间状态。这样的一次倒酒动作称为1次操作。原创 2014-03-19 22:49:39 · 2842 阅读 · 0 评论 -
前缀判断 - 蓝桥杯
标题:前缀判断 - 蓝桥杯内容:2013年第四届蓝桥杯全国软件大赛预赛第5题,代码填空题。作者:MilkCu题目描述题目标题:前缀判断如下的代码判断 needle_start指向的串是否为haystack_start指向的串的前缀,如不是,则返回NULL。比如:"abcd1234" 就包含了 "abc" 为前缀char* prefix(char* haystack_st原创 2013-06-12 18:31:39 · 5286 阅读 · 2 评论
分享