3.5 Puzzle UVA227
2017-11-30 09:34
344 查看
题目链接:点击打开链接
我当时取得函数名真奇葩
初始化二维数组我怎么会用getchar的,,,,难道是防空格吗,怎么着还有gets啊
我当时取得函数名真奇葩
初始化二维数组我怎么会用getchar的,,,,难道是防空格吗,怎么着还有gets啊
#include <stdio.h> #include <string.h> char she[6][6]; int x, y; int ope(int com); void psh(int k, int kase); void swash(int i1, int j1, int i2, int j2); int main() { int kase; for(kase = 1;; kase++) { int i, j, k = 1; int c; memset(she, '\0', sizeof(she)); for(i = 0; i < 5; i++) for(j = 0; j < 6; j++) { she[i][j] = getchar(); if(she[0][0] == 'Z' && she[0][1] == '\n') return 0; if(she[i][j] == ' ') {x = i; y = j;} } while((c = getchar()) != EOF && c != '0') { if(c != '\n' && ope(c)) {k = 0;break;} } if(kase > 1) printf("\n"); if(!k) for(;;) if((c = getchar()) == '0') break; psh(k, kase); getchar(); } return 0; } int ope(int com) { switch(com) { case 'A': x--;if(x < 0) return 1;swash(x, y, x + 1, y);break; case 'L': y--;if(y < 0) return 1;swash(x, y, x, y + 1);break; case 'R': y++;if(y > 4) return 1;swash(x, y, x, y - 1);break; case 'B': x++;if(x > 4) return 1;swash(x, y, x - 1, y);break; default :return 1; } return 0; } void swash(int i1, int j1, int i2, int j2) { int temp = she[i1][j1]; she[i1][j1] = she[i2][j2]; she[i2][j2] = temp; } void psh(int k, int kase) { int i, j; if(k) { printf("Puzzle #%d:\n", kase); for(i = 0; i < 5; i++) for(j = 0; j < 5; j++) {printf("%c",she[i][j]);printf((j == 4)?"\n":" ");} } else {printf("Puzzle #%d:\n", kase);printf("This puzzle has no final configuration.\n");} }
相关文章推荐
- UVa- 227 - Puzzle:单纯模拟 & 数据(字符数组)读入练习
- UVa227:Puzzle
- UVa 227 Puzzle
- UVA227 puzzle 第一个超过一百行的代码。。。
- UVA - 227 Puzzle
- 紫书章三习题5——UVA 227 Puzzle
- UVa-227 - Puzzle
- UVa 227 - Puzzle
- UVA 227 Puzzle
- UVa 227 Puzzle(小心输入输出!)
- 算法竞赛入门经典(第2版)习题3-5 谜题 Puzzle UVa227
- 紫书章三习题5——UVA 227 Puzzle
- UVA 227 - Puzzle
- UVa - 227 - Puzzle(gets(),scanf("%c",&x))
- UVA_227 - Puzzle
- UVa 227 - Puzzle
- Problem 015 —— UVa 227 Puzzle
- Puzzle UVA - 227
- UVA227 Puzzle
- UVa 227 Puzzle 【数组和字符串】【模拟】