2016-06-01 JustWe
博客地址: http://lfkdsk.github.io 代码地址: https://github.com/lfkdsk/CodeParse 为计算器添加一些新功能 本节代码:CalcWithTable 上次我们使用Lex & Yacc制作了一个能够处理优先级的计算器,其中的优先级的设定是通过修改文法 ,将优先级提升,这次重写这个计算器并添加一些新的功能。 先看Lex文件 ``` C %{ include "y.tab.h" include include "link_list.h" %} %% /* 这段正则和之前都有所不同 明显的增加了对于科学 继续阅读 »
2013-04-06 Robert Zhang
more ```cpp include include ifdef DEBUG include "../comm_headers/debug_helper.h" else define DEBUG_OUT(...) endif 继续阅读 »
2016-08-20 findneo
C
WHU OJ ,已无法访问 1021乒乓球比赛 ```c include int main() { char i,j,k; for(i='X'; i include int time_elapse(int hour, int minute, int second) { return hour*3600+minute*60+second; } int main() { int n; char t[9],s[9]; int a,b,c,d,e,f; int s1,s2; scanf("%d",&n); for(; n>0; n--) { 继续阅读 »
2013-06-14 Robert Zhang
more ```cpp include include define MAX_SIZE 10 using namespace std; typedef long long llt; 继续阅读 »
2013-04-14 Robert Zhang
分析:不需要一般象棋程序的“着法生成器”也可以求解more ```cpp include include using namespace std; typedef char Board[8][8]; typedef struct _Position { int row; int col; } Position; 继续阅读 »
2016-03-30 craneyuan
位图排序简介 位图排序的直接思路是想通过有限位数(比如1位)去映射一个整数,从而节省存储空间,而间接带来的好处是给指定数据集合排序了。 实际案例介绍 本案例摘抄自《编程珠玑》一书。 输入: 所输入的是一个文件,至多包含n个正整数,每个正整数都要小于n,这里n=10^7。如果输入时某一个整数出现了两次,就会产生一个致命的错误。这些整数与其他任何数据都不关联。 输出: 以非递减形式输出经过排序的整数列表。 约束: 至多(大概)只要1MB的可用主存;但是可用磁盘空间非常充足。运行时间至多只允许几分钟;10分钟是最适宜的运行时间。 代码实现如下 more ``` java include include in 继续阅读 »
2013-04-28 Robert Zhang
more ```cpp include include using namespace std; void hartal(vector & days, int h) { int n = days.size(); int t = h - 1; while (t < n) { int r = t % 7; if (r != 5 && r != 6) days[t] = true; t += h; } } 继续阅读 »
2014-08-29 Mithrilwoodrat
[CDATA[<p class="text" #include include typedef unsigned char * byte_pointer; unsigned replace_byte(unsigned x,unsigned char b,int i); int main() { unsigned x = 0x12345678; unsigned char b =0xab; int i = 0; scanf("%d",&i); printf("%x",replace_byte(x,b,i)); return 0; } unsigned replace_byte(un 继续阅读 »
2014-08-29 Mithrilwoodrat
#include <stdio.h> #include<limits.h> /* return last byte of x or other bytes of y*/ unsigned bytefun(unsigned x,unsigned y) { return ((x<<24)>>24)|(y&(UINT_MAX-0xff)); } int main() { unsigned x = 0x89ABCDEF; unsigned y = 0x76543210; printf("%x",bytefun(x,y)); return 0; } 继续阅读 »
2016-05-11 YongHao Hu
C++
大家先看看下面的程序: ``` include include int main(void) { char* c = (char*)malloc(100); c[0] = 'w'; c[1] = 'o'; printf("%s\n", c); free(c+2); printf("%s\n", c); return 0; } ``` 继续阅读 »