- 博客(39)
- 资源 (3)
- 收藏
- 关注
原创 【编程之旅】关于代码编写规范的那些事儿
在我们日积月累的代码积累过程中,你有没有去了解一些有关于你所使用的编程语言的规范,其实如果我们多去了解一些有关于编码规范的知识,还是很有必要的,因为或许某一天,你所调试多天依然找不出错误所在的代码,就是由于之前你所编写的代码不合乎规范而造成的,为了让后来人不再在相同的地方跌倒,就让我们来细细体味一下那些由于我们日常生活中由于代码编写不规范而造成的不良后果吧。
2016-03-12 10:26:19 606
原创 【WIN32之旅】给托盘图标加上MOUSE_ENTER、MOUSE_HOVER、MOUSE_LEAVE消息
相信很多人在WIN32项目开发过程中涉及到托盘相关处理时都会碰到这样一个问题,无法获取托盘图标的鼠标移入(Mouse Enter)、移出(Mouse Leave)以及悬停(Mouse Hover)消息,因为WINDOWS只提供了一个WM_MOUSEMOVE消息给我们,想要实现更为复杂的界面逻辑,就比如自绘的ToolTip提示或者消息预览窗口那可怎么办呢? 下面这里我就从时间线性和状态变更的角度去分析如何检测托盘鼠标消息。
2016-03-12 09:52:29 2315 2
原创 【WIN32之旅】WINDOWS错误处理与参考(四)
上一篇,我们说到了GetLastError()函数,可是它返回的是一个DWORD(双字型)的错误代码,如果我们并不清楚FormatMessage()函数或者就只想快速简单地得到错误具体信息,那怎么办呢? 接下来要补充的就是错误信息大全,这样我们就能快速方便地查找到错误代码所对应的错误信息了,目前微软WINDOWS系统的错误信息代码编号已经从0排到了15999,而且还在不断地增长,以下列出的均为
2015-03-20 21:08:15 16657
原创 【ACM之旅】画三角形
一、[题目] 画三角形时间限制:1.0s 内存限制:512.0MB问题描述找出下面给出图形的规律,给出n,画一个n行的对应图形。ABABCBABCDCBABCD输入格式输入包含一个数n。1输出格式输出与上图类似n行的图形。样例输入4样例输出ABABCBAB
2015-03-12 23:21:42 770
原创 【ACM之旅】球队排名
一、[题目] 球队排名时间限制:1.0s 内存限制:512.0MB问题描述计算机系学生会体育部组织了一次“酒井杯”足球联赛,有若干支球队参加,现在联赛已经圆满落幕,各队的积分、净胜球、进球数已经计算出来了,现在要你编写一个程序计算各支球队的排名,然后按照名次从高到低的顺序将各个球队的名字打印出来。球队的规则如下:1、先比较积分,积分高者名次在前;2、如果
2015-03-12 23:01:19 2120
原创 【ACM之旅】补写函数
一、[题目] 补写函数时间限制:1.0s 内存限制:512.0MB问题描述根据主程序,补写函数,使得程序可以输出三个数的最大值和最小值。输入格式输入包含四个数,前三个数为a,b,c,第四个数为一个调用函数的编号,如果第四个数为0,则调用第一个函数,否则调用第二个函数。输出格式输出a,b,c的最大值和最小值。
2015-03-12 22:53:20 652
原创 【ACM之旅】选择计算
一、[题目] 选择计算时间限制:1.0s 内存限制:512.0MB问题描述输入三个整数x,y,z。根据z的值的不同对x和y进行计算:z=1:输出x+y的值;z=2:输出x-y的值;z=3:输出x*y的值;z=4:输出x/y的值(若除不尽取整数部分);z=5:输出x%y的值z=6:输出x和y的最大公约数z=7:输出x和y的最小公倍数
2015-03-12 22:00:15 808
原创 【编程之旅】一段大牛写的"奇幻代码"
今天由于"白噪声"一词无意中进入了一位名为 Ken Perlin 的个人主页(Ken Perlin's homepage),很简洁明了的研究实验室,还有 Ken Perlin 大牛本人的神照,看着主页的内容不用说就知道他是一位擅长图形图像的有趣的人,在首页的顶部有这样一段代码:COMPILE THIS:main(k){float i,j,r,x,y=-16;while(puts(""),y++<15)for(x=0;x+
2015-03-07 23:05:18 4641 3
原创 【ACM之旅】拼写检查
一、[题目] 拼写检查时间限制:1.0s 内存限制:512.0MB问题描述微软的Word有一个拼写检查功能,如果你拼写错了单词,它会用红线标出以示提醒,然后给出可能正确的单词。现在要你编程实现类似的一个系统:给定一个词表以及一个待检查的单词,判断这个单词是否在词表中,如果不在词表中,程序应该给出一个相似的单词。在寻找相似的单词时,你只需要考虑如下几个简单的情况:
2015-03-07 19:26:53 1887
原创 【ACM之旅】字符统计
一、[题目] 字符统计时间限制:1.0s 内存限制:512.0MB问题描述给定一个由小写字母组成的字符串(长度在1至100之间), 统计各个字母在这个字符串中出现的次数。输入格式有一行,表示要统计的字符串输出格式有若干行,每行输出一个字符以及它在字符串中出现的次数,中间用一个空格符分隔。在输出时注意以下两点:
2015-03-06 12:59:11 1384
原创 【ACM之旅】字符串对比
一、[题目] 字符串对比时间限制:1.0s 内存限制:512.0MB问题描述给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一:1:两个字符串长度不等。比如 Beijing 和 Hebei2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing3:两
2015-03-06 12:51:35 919
原创 【ACM之旅】瓷砖铺放(问题再引申)
一、[题目] 瓷砖铺放(问题再引申)时间限制:1.0s 内存限制:512.0MB问题描述有一长度为N(1例如,长度为4的地面一共有如下4种铺法,并且,一共用了长度为1的瓷砖4块:4=1+2+14=1+34=2+24=3+1编程求解上述问题。输入格式只有一个数N,代表地板的长度输出格式第一行有一个数,代表
2015-03-06 11:54:30 2952
原创 【ACM之旅】瓷砖铺放
一、[题目] 瓷砖铺放时间限制:1.0s 内存限制:512.0MB问题描述有一长度为N(1例如,长度为4的地面一共有如下5种铺法:4=1+1+1+14=2+1+14=1+2+14=1+1+24=2+2编程用递归的方法求解上述问题。输入格式只有一个数N,代表地板的长度输出格式输出一个数,代
2015-03-06 11:43:16 2383
原创 【ACM之旅】时间转换
一、[题目] 时间转换时间限制:1.0s 内存限制:512.0MB问题描述给定一个以秒为单位的时间t,要求用“::”的格式来表示这个时间。表示时间,表示分钟,而表示秒,它们都是整数且没有前导的“0”。例如,若t=0,则应输出是“0:0:0”;若t=3661,则输出“1:1:1”。输入格式输入只有一行,是一个整数t(0输出格式
2015-03-06 11:27:24 1333
原创 【ACM之旅】集合运算
一、[题目] 集合运算时间限制:1.0s 内存限制:512.0MB问题描述给出两个整数集合A、B,求出他们的交集、并集以及B在A中的余集。输入格式第一行为一个整数n,表示集合A中的元素个数。第二行有n个互不相同的用空格隔开的整数,表示集合A中的元素。第三行为一个整数m,表示集合B中的元素个数。第四行有m个互不相同的用空格隔开的整数,表
2015-03-03 22:42:53 2413 1
原创 【ACM之旅】数列排序
一、[题目] 数列排序时间限制:1.0s 内存限制:512.0MB问题描述给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1输入格式第一行为一个整数n。第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。输出格式输出一行,按从小到大的顺序输出排序后的数列。样例输入5
2015-03-03 17:17:16 1648 2
原创 【ACM之旅】枚举字串
一、[题目] 枚举字串时间限制:1.0s 内存限制:512.0MB问题描述如果一个单词只使用A、B、C、D四个字符,当长度为2时它有16种可能:AAABACADBABBBCBDCACBCCCDDADBDCDD请按字典的顺序将长度为4的所有单词输出。输出格式按字典序每行输出
2015-03-03 16:49:30 1214
原创 【ACM之旅】查找整数
一、[题目] 查找整数时间限制:1.0s 内存限制:512.0MB问题描述给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。输入格式第一行包含一个整数n,1第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。第三行包含一个整数a,为待查找的数。输出格式如果a在数列中出现了
2015-03-03 16:24:45 942
原创 【ACM之旅】计算价格
一、[题目] 计算价格时间限制:1.0s 内存限制:512.0MB问题描述香蕉3元/斤,橘子2元/斤,葡萄8元/斤。买a斤香蕉、b斤橘子、c斤葡萄,问需要多少钱?输入格式输入包括三行,每行一个0至200的整数,分别表示a,b,c。输出格式输出所需要的钱数。样例输入123样例输出
2015-03-03 15:59:20 959
原创 【ACM之旅】缩小的陆地
一、[题目] 缩小的陆地时间限制:1.0s 内存限制:512.0MB问题描述Fred正在考虑在路易斯安那州找一块土地在上面建造他的房子。在调查过程中,他了解到路易斯安那州的陆地正以每年50平方英里的速度缩小,原因是密西西比河对陆地的侵蚀。由于Fred希望他的余生都能居住在这所房子里,所以他需要知道他的土地是否会被河水侵蚀。Fred做了更多的研究后发现,正在损失的
2015-03-03 15:25:32 1684
原创 【编程之旅】关于传输剩余时间估算那些事儿
对传输剩余时间进行估算,我开始思考起了这个有趣的问题,在信息数据程指数级暴增的今天,传输剩余时间这个词我们似乎已经司空见惯,当我们随意复制粘贴,上传下载一个哪怕是一堆文件时,其实我们在干的事情也就是数据传输,而在这个过程中产生的一个很有趣的现象就是,人们总是很迫切地需要知道传输的进度或者是结果,如果在这一过程中一切变得不可知,人们的内心就会变得焦躁或者是迷茫,接下来要发生的事情就是或许这样一件正在
2015-03-03 09:00:06 3575
原创 【编程之旅】关于高精度计时那些事儿
由于需要测试代码 ACM代码 的耗时情况,不得不与“高精度计时” 打交到,我们常用的耗时计算精确度精确到毫秒级应该很不错了,可是对于一些需要更高精度计时的场合来说,毫秒级计时似乎成了摆设,这时需要我们将耗时计算精确到微秒级甚至更高级别,由于我使用的是WINDOWS操作系统,关于高精度计时我们就可以使用WINAPI函数(微秒级),或者是使用RDTSC指令(纳秒级) 来得到我们更高精度的耗时长度。
2015-03-02 21:47:44 2644
原创 【ACM之旅】杨辉三角形 (Pascal三角形)
一、[题目] 杨辉三角形时间限制:1.0s 内存限制:512.0MB问题描述杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。它的一个重要性质是,三角形中的每个数字等于它两肩上的数字相加。下面给出了杨辉三角形的前4行:11 11 2 11 3 3 1给出n,输出它的前n行。输入格式输入包含一
2015-03-02 16:50:46 1990
原创 【ACM之旅】进制转换4 (十六进制转八进制)
一、[题目] 进制转换4 (十六进制转八进制)时间限制:1.0s 内存限制:512.0MB问题描述给定n个十六进制正整数,输出它们对应的八进制数。注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。输入格式输入的第一行为一个正整数n (1接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制
2015-03-02 14:41:56 922
原创 【ACM之旅】进制转换3 (十六进制转十进制)
一、[题目] 进制转换3 (十六进制转十进制)时间限制:1.0s 内存限制:512.0MB问题描述从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出65535二、[代码]:
2015-03-02 13:13:45 775
原创 【ACM之旅】进制转换2 (任意进制转换)
一、[题目] 进制转换2 (任意进制转换)时间限制:1.0s 内存限制:512.0MB问题描述 不同的进制数在自然科学中发挥着巨大的作用。人类最早时由于手指是十个所以广泛采用了十进制计数。在计算机科学中,由于电路一般为开和关两种状态,所以在机器内部都是使用二进制。人们为了方便处理二进制,使用了十六进制、八进制。 其实对于任何大于等于2的正整数p,p进制都
2015-03-02 12:56:00 1670
原创 【ACM之旅】进制转换1 (十六进制转换)
一、[题目] 进制转换1 (十六进制转换)时间限制:1.0s 内存限制:512.0MB问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11
2015-03-02 11:51:06 1013
原创 【ACM之旅】数列特征2
一、[题目] 数列特征2时间限制:1.0s 内存限制:512.0MB问题描述给出n个数,找出这n个数的第二大值,第二小值,平方和。输入格式第一行为整数n,表示数的个数。(2第二行有n个数,为给定的n个数,每个数的绝对值都小于1000。输出格式输出三行,每行一个整数。第一行表示这些数中的第二大值,第二行表示这些数中的第二小值
2015-03-02 11:39:06 1049
原创 【ACM之旅】数列特征1
一、[题目] 数列特征1时间限制:1.0s 内存限制:256.0MB问题描述给出n个数,找出这n个数的最大值,最小值,和。输入格式第一行为整数n,表示数的个数。(1第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。输出格式输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表
2015-03-02 11:16:01 574
原创 【ACM之旅】特殊的数字2 (回文数)
一、[题目] 特殊的数字2(回文数)时间限制:1.0s 内存限制:512.0MB问题描述123321是一个非常特殊的数,它从左边读和从右边读是一样的。输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。输入格式输入一行,包含一个正整数n (1)。输出格式按从小到大的顺序输出满足条件的整数,每个
2015-03-02 10:52:54 1014
原创 【ACM之旅】特殊的数字1 (立方和)
一、[题目] 画长方形1时间限制:1.0s 内存限制:512.0MB问题描述153是一个非常特殊的数,它等于它的每位数字的立方和,即153=1*1*1+5*5*5+3*3*3。编程求所有满足这种条件的三位十进制数。输出格式按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。二、[代码]:PS. 特殊的数字1(立方和)
2015-03-02 10:32:10 699
原创 【ACM之旅】画长方形
一、[题目] 画长方形1时间限制:1.0s 内存限制:512.0MB问题描述在Windows的控制台环境中,所有的字符都是等宽的,默认情况下窗口中每行有80个字符,每个屏幕有25行,组成了一个字符矩阵。利用控制台的这个特点,我们可以在控制台上绘制简单的图形。下面给出了一个5*7的图形的例子:ABCDEFGBABCDEFCBABCDEDCBABCD
2015-02-23 17:57:50 2186
原创 【ACM之旅】01序列2 (奇数串)
一、[题目] A+B Problem时间限制:1.0s 内存限制:256.0MB问题描述对于长度为6位的一个01串,每一位都可能是0或1,一共有64种可能。它的前几个是:000000000001000010000011000100有这些01串中,有一些01串的1的个数是奇数个,这部分01串的前几个是:000001000010000
2015-02-23 17:16:36 1792
原创 【ACM之旅】01序列
一、[题目] A+B Problem时间限制:1.0s 内存限制:256.0MB问题描述对于长度为6位的一个01串,每一位都可能是0或1,一共有64种可能。它的前几个是:000000000001000010000011000100请按从小到大的顺序输出这64种01串。输出格式输出64行,每行一个01串。
2015-02-23 16:41:33 1015
原创 【ACM之旅】A+B Problem
一、[题目] A+B Problem时间限制:1.0s 内存限制:512.0MB问题描述输入A,B。输出A+B。输入格式输入包含两个整数A,B,用一个空格分隔。输出格式输出一个整数,表示A+B的值。样例输入5 8 样例输出
2015-02-23 16:34:19 869
原创 【ACM之旅】那就从这里起航吧!
"Hello ACM !" 你好,ACM。 那就从这里开始记录我的ACM之旅吧。 第一次知道ACM那是7年前的事了,那时我正好上了高中,正好碰上了NOIP(国家信息学奥赛),也是那时候开始了计算机编程之旅,那时最喜欢和不舍的就是每星期一次的信息学培训讲解课,虽然仅有周五整整一晚上的时间,但在那个时候除了吃饭睡觉还有晚自习的我们来说,已经是最好的恩赐了。 那时候我们使用的是PASCAL语言,
2015-02-19 13:54:20 874
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人