示例#1
0
文件: hanoi.c 项目: lMattl/homework
void putblock(int x, int t) {
	if (block[t][x] > 0) {
		int size = block[t][x];
		int i;
		putblank(n - size);
		for (i = 0; i < size * 2 + 1; ++ i)
			putchar('@');
		putblank(n - size);
	} else {
		putblank(n);
		putchar('|');
		putblank(n);
	}
}
示例#2
0
文件: hanoi.c 项目: lMattl/homework
void print_state() {
	int i;
	putblank(n + 1);
	putchar('|');
	putblank(2 * n + 1);
	putchar('|');
	putblank(2 * n + 1);
	puts("|");
	for (i = n - 1; i >= 0; -- i) {
		putchar(' ');
		putblock(i, 0);
		putchar(' ');
		putblock(i, 1);
		putchar(' ');
		putblock(i, 2);
		puts("");
	}
	puts("");
}
示例#3
0
文件: pass2.c 项目: dank101/4.2BSD
datas()
{
register int c, n;
int n1;

rewii(idfile);
swii(idfile);

for( ; ; )
	{
	c = getic(&n1);
	n = n1;
	switch(c)
		{
		case ICEOF:
			return;
	
		case ICMARK:
			break;
	
		case ICBLANK:
			putblank(n);
			break;
	
		case ICNAME:
			if(*ftnames[n] == '\0')
				fatal1("no name for n=%d", n);
			p2stmt(0);
			p2key(FDATA);
			p2str( ftnames[n] );
			break;
	
		case ICOP:
			p2str( ops[n] );
			break;
	
		case ICCONST:
			p2str( getsii(n) );
			break;
	
		default:
			fatal1("datas: invalid intermediate tag %d", c);
		}
	}
}