摘要: 一 问题 实现pwd功能二 分析 结合stat()函数和stat结构体,可根据目录名获得目标的i-节点号 使用chdir()函数可以改变用户的当前路径 结合readdir()函数和direntp结构体,可以根据i-节点号获得其对应的目录名称 1)获得当前目录A的i-节点号Ai 2)跳转到父目录,根据i-节点号Ai就能知道目录A的名称 3)依次倒退到根目录为止三 实现1 头文件#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <dirent.h>#includ 阅读全文
posted @ 2013-02-27 11:16 布兰姥爷 阅读(603) 评论(0) 推荐(0) 编辑
摘要: 问题描述 在大多数国家,有大量不同的彩票游戏供投机者选择。彩票的规则由两个整数(choices和blanks)及两个布尔型变量(sorted和unique)定义。choices代表你可以使用在你的彩票上的最高有效数。(所有在1到choices之间的整数,包括choices,是有效数并可以使用在你的彩票上。)blanks代表你可以插入的数字的数量。 sorted和unique变量表明你可创建的彩票的限制条件。若sorted被设为true,那么彩票上的数字必须被写为非降序的。若sorted被设为false,那么彩票上就可以任意写。同样的,若unique被设为true,那么你所写的数字都必须是唯.. 阅读全文
posted @ 2013-02-21 10:53 布兰姥爷 阅读(537) 评论(0) 推荐(0) 编辑
摘要: TimeTool需求分析1 前言1.1 目标 本文主要是对《TimeTool需求书》进行分析,将具体的功能需求进行明确。1.2 参考 《TimeTool需求书》1.3 约定 事务:我们将一个学习或工作统称为一个事务。1.4 历史时间版本修改章节修改内容修改人备注2013.1.31V1.0创建无Cation创建2 需求分析 依据《TimeTool需求书》,TimeTool时间管理工具(以下简称TimeTool)需具备两部分功能: 1) 对当前事务的执行监督(以下简称执行监督) 2) 对历史事务的分析统计(以下简称分析统计)2.1 执行监督 首先,需要明确的是,对当前事务的执行监督,其本身是用.. 阅读全文
posted @ 2013-01-31 12:29 布兰姥爷 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 一 问题 对ls1的功能进行扩展,以达到类似ll命令的功能。二 分析 在ls1中,我们利用readdir()函数和dirent结构体来获得目标文件夹内的文件名(dirent->d_name)。 现在我们借助函数stat()和结构体stat以及上面得到的文件名来获得该目录内文件的详细信息(参看后面的“相关函数与结构体”部分)。三 实现1 头文件#include<stdio.h>#include<sys/types.h>#include<dirent.h>#include<sys/stat.h>#include<string.h>2 阅读全文
posted @ 2013-01-29 21:40 布兰姥爷 阅读(1158) 评论(0) 推荐(0) 编辑
摘要: TimeTool需求书1 前言1.1 关于本项目 项目名:《TimeTool时间管理工具》(以下简称TimeTool) 目标:实现对时间的综合管理 立项时间:2013年1月21日 计划时间:2个月(2013年3月21日前)1.2 背景 在日常工作、生活和学习中,我们有时需要做一些不固定时间的事情,而这些事情通常一次无法完成,或每天、每周每个月都要做。比如每天抽半个小时背单词,用一个小时练习画画,看十分钟报纸,等等。这些事情发生时间并不固定,具有随意安排的特性,执行时间也不固定,看每个人的个人喜好。有时候我们也需要一个监督和督促自己来做这些事情的途径,直到确实完成这些事情为止。 TimeTo.. 阅读全文
posted @ 2013-01-17 21:47 布兰姥爷 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 一 问题 实现ls的功能二 分析 1 在linux中,要查看文件夹中有什么内容,可以使用readdir函数直接读该文件夹的内容,并以结构体dirent保存该内容 2 文件夹中有两个特殊文件"."和"..",表示当前文件夹和上一文件夹 3 "ls"表明读取当前文件夹,"ls filename"表示读取指定文件夹,"ls filename1 filename2"表示读取多个指定文件夹三 实现(以读取当前文件夹为例)1 打开该文件夹# include<stdio.h># include&l 阅读全文
posted @ 2013-01-16 10:22 布兰姥爷 阅读(675) 评论(0) 推荐(0) 编辑
摘要: 问题描述 若你有一个二进制字符串如下: 011100011 其中一个加密这些字符串的方法是将各个数字与其相邻的数字相加。例如,加密后字符串会是这样: 123210122 若p是原本的字符串,Q是加密的字符串,那么Q[i] = P[i-1] + P[i] + P[i+1],i是数字的位置。超过字符串左边界和右边界的字符作0处理。 以这种格式给你的加密字符串可以以如下方式解密(以123210122为例): 1.假设 P[0] = 0. 2.因为 Q[0] = P[0] + P[1] = 0 + P[1] = 1, 我们得到 P[1] = 1. 3.因为Q[1] = P... 阅读全文
posted @ 2013-01-01 10:30 布兰姥爷 阅读(858) 评论(0) 推荐(0) 编辑
摘要: 1 完善个人信息在TopCoder主页注册后并不能登陆其客户端进行比赛或者学习,还需要完善自己的信息1)登陆你的用户在主页登陆2)进入个人空间点击用户名进入个人空间3)打开个人信息点击“My TopCoder”按钮打开个人信息4)打开个人信息更新窗口点击“Update”按钮打开个人信息更新的窗口,会需要你重新登录一次下面两个都勾上,点“Submit”按钮5)个人信息提交个人信息后,就可以使用TopCoder的客户端登录并进行算法比赛啦2 下载并登录客户端1)登录你的用户在主页登录你的用户2)进入个人空间3)点击“algorithm competition”按钮如果你的电脑里没有装java,他会 阅读全文
posted @ 2012-12-18 19:30 布兰姥爷 阅读(8660) 评论(0) 推荐(1) 编辑
摘要: 这个想法是受到topcoder编程大赛的启发,但是我个人感觉各种编程大赛多侧重于考核算法能力,非常的枯燥,于是就有了现在的想法,让编程竞技“好玩起来”。1 设想一块虚拟大陆,由10x10像素的方格构成2 在这片大陆上,每个人都拥有自己的一个“基地”3 每隔若干时间,这个基地里就会产生一个小人,这个小人可以出现在这个建筑的四周任何一个方格内(小人也可以不出来,一直呆在基地里面)4 走出基地的小人我们用另一种颜色的小方块表示5 这个小方块每隔单位时间可以上下左右移动一次,甚至是回到基地。他走过的地方就会属于这个玩家。1)玩家控制的小人走过的地方越多,那么基地产生小人的速度越快,同时玩家分数也就越高 阅读全文
posted @ 2012-12-15 11:51 布兰姥爷 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 本实验基于《unix-linux编程实践教程》第二章习题2.6实验说明:unix允许一个文件同时被多个进程打开,也允许一个进程同时打开好几个文件,做多次打开文件的实验:(1)以读的方式打开文件(2)以写的方式打开文件(3)再次以读的方式打开文件这时有三个文件描述符,接下来(4)从第一个文件描述符中读取20字节,显示读到的内容(5)向第二个文件描述符写入"testing 123..."(6)从第三个文件描述符读出20字节,显示读到的内容代码:#include<stdio.h>#include<stdlib.h>#include<sys/types 阅读全文
posted @ 2012-12-14 15:16 布兰姥爷 阅读(1695) 评论(0) 推荐(0) 编辑