⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2173.cpp

📁 这是哈尔滨工业大学acmOJ的源代码
💻 CPP
字号:
/*  This Code is Submitted by wywcgs for Problem 2173 on 2006-03-13 at 12:27:18 */ 
#include <cstdio>
#include <algorithm>
using namespace std;

const int SIZE = 10;

char board[SIZE][SIZE];
int n;
bool over;

void write(int&, int&, char);

int main()
{
	int i, j, t, line;
	
	for(t = 1; scanf("%d", &n) != EOF && n != 0; t++) {
		int r = 0, c = 0; char ch = getchar();
		over = true; memset(board, ' ', sizeof(board));
		for(line = 0; line < n; line++) {
			while(true) {
				if((ch = getchar()) == '\n') break;
				else if(ch != '^') write(r, c, ch);
				else {
					ch = getchar();
					switch(ch) {
					case 'b': c = 0; break;
					case 'c': memset(board, ' ', sizeof(board)); break;
					case 'd': r = min(r+1, 9); break;
					case 'e': for(i = c; i < SIZE; i++) board[r][i] = ' '; break;
					case 'h': r = c = 0; break;
					case 'i': over = false; break;
					case 'l': c = max(c-1, 0); break;
					case 'o': over = true; break;
					case 'r': c = min(c+1, 9); break;
					case 'u': r = max(r-1, 0); break;
					case '^': write(r, c, '^'); break;
					default: r = ch - '0'; c = getchar() - '0'; break;
					}
				}
			}
		}
		printf("Case %d\n", t);
		printf("+----------+\n");
		for(i = 0; i < SIZE; i++) {
			putchar('|');
			for(j = 0; j < SIZE; j++) putchar(board[i][j]);
			printf("|\n");
		}
		printf("+----------+\n");
	}
	
	return 0;
}

void write(int& r, int& c, char s)
{
	int i;
	if(!over) 
		for(i = SIZE-1; i > c; i--) board[r][i] = board[r][i-1];
	board[r][c] = s;
	c = min(c+1, 9);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -