
C语言
文章平均质量分 69
iteye_16036
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
c语言指针灵活性管窥
最近看到mit的[url=http://pdos.csail.mit.edu/6.828/2010/]操作系统课程网站[/url],其[url=http://pdos.csail.mit.edu/6.828/2010/labs/lab1/]实验一[/url]中练习四(exercise 4)中有一个关于指针使用的代码:[code="java"]#include #include ...原创 2011-05-22 08:15:16 · 266 阅读 · 0 评论 -
zoj 3488 conic section
题目见zoj 3488很简单的题目,却没能一次搞定,因为没看清楚题目中输入数据都是实数。该题目考察浮点数的比较(因为浮点数在计算机中存储是近似存储,所以不能直接将两个浮点数直接用大于或小于符号相比较) /* zoj 3488 conic section */#include <stdio.h>#include <math.h>#de...原创 2011-07-22 12:23:47 · 137 阅读 · 0 评论 -
zoj 1006 do the untwist
题目见zoj 1006 或poj 1317 简单的解密算法,直接套用题目中公式即可。 /* zoj 1006 Do the Untwist */#include <stdio.h>#include <string.h>#define MAXLEN 80#define MAGICNUM 28char num2Char(int ...原创 2011-07-22 13:24:26 · 155 阅读 · 0 评论 -
zoj 1078 palindrom numbers
题目见zoj 1078 主要是判断一个整数在基数为2-16之间的某个数字时是否为回文,我是直接该整数转换成对应基数的表示的逆序列,并计算出该表示下的值,判断是否等于这个整数值,如果相等,那么就是回文,如果不相等就不是。 /* zoj 1078 Palindrom Numbers */#include <stdio.h>#define MAX 30i...原创 2011-07-22 19:31:41 · 165 阅读 · 0 评论 -
zoj 1091 Knight Moves
题目见zoj 1091 使用宽度搜索优先来求解,这个算法已经忘记的差不多了,所以写出来的代码很罗嗦,看起来很不清晰。 好像还可以直接用公式或者神经网络算法求解,详见Knight's Tour /* zoj 1091 Knight Moves */#include <stdio.h>#include <string.h>#defin...原创 2011-07-23 09:05:53 · 168 阅读 · 0 评论 -
zoj 1088 System Overload
约瑟夫环(josephus problem)问题,有公式可以直接套用 我使用暴力破解方法求解(用时3秒多)。 代码如下:/* zoj 1088 System Overload */#include <stdio.h>#include <string.h>#define MAXBUILDING 150int minSt...原创 2011-07-23 17:30:16 · 108 阅读 · 0 评论 -
zoj 1025 Wooden Sticks
题目见:zoj 1025先对木棒按照长度进行排序,然后再计算对应重量构成的数组中非递减子序列的个数。相关代码(悲催的是该代码不能在poj1065和hdoj1051 下通过,懒得看具体是什么原因了)/* zoj 1025 Wooden sticks */#include <stdio.h>#include <stdlib.h>#include ...原创 2011-07-23 20:25:38 · 136 阅读 · 0 评论 -
编译器开发相关资源
开发编译器相关的一些网络资源:how difficult is it to write a compiler?wikipedia compilercompiler 101 code competetionpl/0 (couses,source code,another source code)and pl/I language ...原创 2011-08-31 08:40:50 · 191 阅读 · 0 评论 -
部分排序算法c语言实现
代码比较粗糙,主要是用于对排序算法的理解,因而忽略了边界和容错处理相关代码。 相关文档:Insert Sort ,Bubble Sort ,Select Sort ,Shell sort,Quick sort,Heap sort,Merge sort on Wikipediaalgorithm Repository :C语言实现部分排序算法,代...原创 2011-09-02 14:51:51 · 388 阅读 · 0 评论 -
the blocks problem(uva 101 or poj 1208)
题目描述见:uva 101 or poj 1208关键在于彻底理解题目中搬积木的几个命令的含义,见具体分析如果还不能理解题意,那么找一个正确通过的代码,编译并输入测试数据,查看其每一个命令的执行情况。如我的代码中162行注释内容取消后即可显示每一步执行后当前积木的情况)这个题目似乎没有合适的数据结构,由于插入删除操作较多,所以直接用了链表,并且使用双重指针,差点把自己搞晕。...原创 2011-09-11 20:57:03 · 209 阅读 · 0 评论 -
csapp bufbomb实验
csapp(《深入理解计算机系统》)一书中有一个关于缓冲区溢出的实验,其程序代码如下:/* Bomb program that is solved using a buffer overflow attack */#include <stdio.h>#include <stdlib.h>#include <ctype.h>#inclu...原创 2011-09-16 14:21:48 · 772 阅读 · 0 评论 -
《Introduction to Computing Systems: From bits and gates to C and beyond》
很好的一本计算机的入门书,被很多学校采纳作为教材,作者Yale N. Patt是计算机界的泰斗。中文版名为《计算机系统概论》(译者:梁阿磊 , 蒋兴昌, 林凌) 书籍首页(旧版首页)LC-3相关工具LC-3Help采用该教材的一些课程网站:wisc utexas upenn ucsc illinios...原创 2011-09-25 23:33:39 · 2588 阅读 · 0 评论 -
fltk 库
fltk是一个小型、开源、支持OpenGL、跨平台(windows,linux,mac OSX)的GUI库,它兼容xforms图形库(unix/linux下的一个C语言图形库),所以可以用来开发模块化的程序,同时也可以使用面向对象开发程序,使用起来非常方便。另外,由于fltk使用cmake,所以可以方便的使用cmake生成makefile,然后再进行编译,使得编译库也非常方便。例如,我...原创 2011-09-26 19:47:49 · 608 阅读 · 0 评论 -
高质量的c源代码
现在自由软件及开源软件越来越流行,有大量的附带源程序的软件可以使用,这给我们学习软件开发提供了更多方便。但另一方面,也使得找到高质量的软件越来越不易。Landon Curt Noll 推荐阅读David Ingalls Bell的源代码。fefe网站很推崇D.J.Bernstein的源代码(他的qmail软件被很多人认为是一件杰作)。我也要向他们学习。...原创 2011-11-03 10:18:26 · 176 阅读 · 0 评论 -
elf文件格式实例解析
试验环境:archlinux 速龙3000+(即x86兼容32位处理器)必须软件:gcc binutils参考资料:System V application binary interfaceELF Format(mirror txt format)Hello,world in less than 20 bytesTutorial on creati...原创 2011-11-05 23:00:41 · 733 阅读 · 0 评论 -
小型elf "Hello,World"程序
参考链接:http://timelessname.com/elfbin/ 环境要求:linux gcc nasm hexcurse(用来修改elf文件内容) 先尝试用C语言写"Hello,World"程序(名为chello.c): #include <stdio.h>int main(void){ printf("Hello,World\n")...原创 2011-11-06 23:59:11 · 349 阅读 · 0 评论 -
C语言,你真的弄懂了么?
程序(来源): #include <stdio.h>int main(void) { int x[4]; printf("%p\n", (void*) (x)); printf("%p\n", (void*) (x + 1)); printf("%p\n", (void*) (&x)); printf("%p...原创 2011-11-07 12:42:12 · 247 阅读 · 0 评论 -
the development of c language(转)
c语言之父Dennis Ritchie写的关于c语言开发历史的文章,来自这里lisp专家Richard P.Gabriel 的《the Rise of Worse is Better》(wikipedia入口,c2入口,《Worse is Better》,《软件开发宗旨》)中也提到c语言和unix设计的一些思想。 The Development of t...原创 2011-11-08 09:25:32 · 1676 阅读 · 0 评论 -
zoj 1005 jugs
题目内容见zoj1005 由于A,B互素且A的容量小于B,那么可以将B装满并且倒入A中,如果A被装满则将A中的内容全部清空,一直进行下去直到某一刻B中容量恰好等于目标的容量。这种方法能得到正确的结果,但是通常得不到最优结果。 #include <stdio.h>int main(void){ int a,b,target,i; int cu...原创 2011-07-22 11:43:05 · 134 阅读 · 0 评论 -
zoj 1074 To the MAX
见zoj 1074参考了别人的思路才搞定。见http://blog.youkuaiyun.com/acm_davidcn/article/details/5834454使用了最大连续子序列和的算法,虽然自己也知道这个算法,但是却没办法做到活学活用。/* zoj 1074 To the Max */#include <stdio.h>#include <strin...原创 2011-07-21 18:06:45 · 136 阅读 · 0 评论 -
如何选择c语言学习书籍
C语言作为一个简洁精巧的语言,在计算机业中仍有非常广泛的应用。而在最近的编程语言流行度排名中,C语言仍然位居第二的宝座。 通常在学习一门编程语言之前我们都会有一定的缘由:可能是为了应付某项专业考试,也可能是提高自己的专业能力,还可能是仅仅处于兴趣。而选择合适的书籍则是重中之重。时间对于每个人来说都是极其宝贵的,选择不合适的书籍不仅浪费自己的时间,还可能产生南辕北辙的效果。通常关于...原创 2011-05-22 10:33:40 · 183 阅读 · 0 评论 -
《c程序设计语言》练习1-12
c程序设计语言练习1-12:编写一个程序,以每行一个单词的形式打印其输入。此处单词是指除空格,TAB键,换行字符和文件结束符号(EOF)之外的其他字符。我的代码如下:而《the c answer book》中的代码如下: 1. #include 《stdio.h> 2. 3. #define IN 1 4. #define OU...原创 2011-05-22 16:31:39 · 268 阅读 · 0 评论 -
计算程序的执行时间
在windows下计算一段程序的执行时间,有以下方法:(1):使用[url=http://msdn.microsoft.com/en-us/library/4e2ess30%28VS.71%29.aspx]clock()[/url]函数(需包含头文件time.h)我的c程序代码如下:[code="c"]/* computer execution time using clock()...原创 2011-05-26 11:24:43 · 283 阅读 · 0 评论 -
coroutine资源索引
coroutine(通常被译为“协作程序”或"共行程序“)是程序设计中一个非常重要的概念,通常可用于多任务协作处理、迭代器和管道中。它最早出现于”Design of a Separable. Transition-Diagram Compiler“这篇论文中,taocp(the art of computer programming)第一卷1.4.2节也对这个概念进行简单的...原创 2011-05-27 10:06:40 · 137 阅读 · 0 评论 -
程序设计竞赛资源索引
如果想提高编程能力,最重要的就是多练多学,现在网络上提供了大量的习题库,可以很方便的练习编程。 ACM/ICPC题库(支持c,c++,java,pascal): 台州学院acm :有不少习题使用中文描述,分类清晰,适合初学者。题目分类 可以作为参考。sdut acm也有类似题目 lucky猫的ACM园地 :acm试题的中文翻译,其题目编号...原创 2011-06-02 07:26:46 · 135 阅读 · 0 评论 -
最大连续子序列和问题
问题描述:给定一个序列a[1],a[2]...a[n],求解其连续子序列中元素和的最大值例如: 6 -1 5 4 -7 这个序列最大连续子序列和为14具体问题见: [url=http://acm.hdu.edu.cn/showproblem.php?pid=1003]HDOJ 1003[/url] [url=http://acm.tzc.edu.cn/acmhome/problemdet...原创 2011-06-06 11:31:15 · 330 阅读 · 0 评论 -
适合初学编程的一些项目
学习了一门语言以及数据结构之后,通常需要做一些项目来巩固所学的知识,我感觉最好是用写一些简单的小工具或者小游戏,能够提高自己的编程能力,也能进一步提高自己学习的兴趣。最好的是将自己想做的事情用程序的实现,比如写个小计算器等等。如果缺乏这方面的思路,可以参看下面的一些想法:(1)一些编程方面的小挑战或教程:Programming tasks and challenges ...原创 2011-06-10 10:04:37 · 585 阅读 · 0 评论 -
安装codeblocks和wxwidgets及opencv
codeblocks是一款开放源代码的跨平台的c/c++集成开发环境,它是用wxwidgets开发的,并且支持插件,功能很强大。可以用来在windows开发各种程序。下面记录一下我安装该软件的过程: 首先到http://www.codeblocks.org/downloads下载该软件,选择含mingw的文件(codeblocks-10.05ming...原创 2011-06-15 14:17:04 · 308 阅读 · 0 评论 -
一些c语言图形库
想编程绘制一些简单的图形,有不少的图形库可以选择:(1)BGI图形库:即turbo c所带的图形库。misaki 在vc(vc6,vc2008,vc2010等)下重写了该库,名为EGE。另一个类似的vc(vc6,vc2008,vc2010)下的库名为easyX 。mingw下(也可用于vc2005和vc2008下)移植版本名为WinBGIm(下载地址,头文件302行in...原创 2011-07-10 20:12:31 · 8783 阅读 · 0 评论 -
turbo c相关文档
无意中在网上找到的turbo c 2.0相关文档,有reference guide 和user guide.下载地址见(镜像一,镜像二,镜像三,镜像四)。这些网站还有很多其他各类软件相关文档,感兴趣的可以自己看看。另外,还找到了一个borland c++ dos reference(见附件相关内容,其中一章内容是关于bgi库,borland c++ programmer's...原创 2011-07-12 12:36:47 · 173 阅读 · 0 评论 -
nethack
nethack是一款开源游戏,不支持声音和华丽的图像,却被称为最好玩的游戏之一。 相关链接: nethack主页 nethack下载地址 nethack wiki nethack贴吧 beginner's guide to nethack sources 其他一些有趣的链接: games in c with source co...原创 2011-07-13 21:06:06 · 284 阅读 · 0 评论 -
生命游戏(game of life)
生命游戏(game of life)是一款非常著名的游戏。它包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死了的细胞。一个细胞在下一个时刻生死取决于相邻八个方格中活着的或死了的细胞的数量。如果相邻方格活着的细胞数量过多,这个细胞会因为资源匮乏而在下一个时刻死去;相反,如果周围活细胞过少,这个细胞会因太孤单而死去。规定当相邻方格的细胞有两个为生时这个细胞的状态不变,有三个...原创 2011-07-15 12:52:21 · 407 阅读 · 0 评论 -
关联数组(associative array)
关联数组(associative array)是一种常用的抽象数据类型。它有很多别名,例如associative container, map, mapping, dictionary, finite map, table,index等。它的特点是由一个关键字和其他各种属性组成的集合。典型的操作包括插入,删除和查找等。而用于描述关联数组最常用的是哈希表(has...原创 2011-07-16 12:10:27 · 1705 阅读 · 0 评论 -
Run Length Encoding
游程编码(Run Length Encoding) 是一种简单的编码方法,通常用于控制论中对二值图像编码。ACM有一道题目就是关于该编码。见tzu 1149 或poj 1782 。虽然是简单题,我却花了好大功夫才搞定,功力还是不足阿。程序代码如下:#include <stdio.h>#define MAX 1024int printStr(cha...原创 2011-07-18 18:05:38 · 273 阅读 · 0 评论 -
hdoj 1013 Digital Roots
链接:zoj 1115 或 hdoj 1013 或poj 1519虽说是水题,却几经波折才搞定。该题目中的数字可能非常大,所以不能使用整型数,只能采用字符变量代码如下:#include <stdio.h>int digitalRoot(int n);int digitSum(int n);int main(void){ char...原创 2011-07-20 17:15:34 · 118 阅读 · 0 评论 -
hdoj 1015 Safecracker
见hdoj 1015 或 zoj 1403 或tzu 1308 我使用了枚举法,代码写的很罗嗦,可能还是深度优先搜索写起来更清晰。/* hdoj 1015 */#include <stdio.h>#include <string.h>#define MAX (12+5)#define RESLEN 5int bubSort(...原创 2011-07-21 13:47:01 · 127 阅读 · 0 评论 -
zoj 1154 Niven numbers
见zoj 1154 还是需要将输入数据当作字符串来处理,不能直接使用整型。 /* zoj 1154 Niven numbers */#include <stdio.h>#define MAX 100int isNivenNum(int base, char str[]);int main(void){ int totalBlocks;...原创 2011-07-21 14:57:41 · 177 阅读 · 0 评论 -
最小c编译器
最小c编译器(来源(最好在linux下操作))代码有好几个版本,我选择otccelfn.c。 /* Obfuscated Tiny C Compiler with ELF output Copyright (C) 2001-2003 Fabrice Bellard This software is provided 'as-is', without any...原创 2011-11-08 14:09:17 · 756 阅读 · 0 评论