A、必须连续
B、部分地址必须连续
C、不能连续
D、连续与否无所谓
行编辑程序 Description 一个简单的行编辑程序的功能是:接收用户从终端输入的程序或数据,并存入用户的数据区。由于用户在终端上进行输入时,不能保证不出差错,因此,若在编辑程序中,“每接收一个字符即存入用户数据区”的做法显然不是很恰当。较好的做法是,设立一个输入缓冲区,用以接收用户输入的一行字符,然后逐行存入用户数据区。允许用户输入出差错,并在发现有误时可以及时更正。例如,当用户发现刚刚键入的一个字符是错的时,可补进一个退格符“#”,以表示前一个字符无效;如果发现当前键入的行内错误较多或难以补救,则可以键入一个退行符“@”,以表示当前行中的字符均无效。例如假设从终端接收了这样的两行字符: whil##ilr#e(s#*s) outcha@ putchar(*s=#++); 则实际有效的是下列两行: while(*s) putchar(*s++); 为此,可设这个输入缓冲区为一个栈结构,每当从终端接收了一个字符之后先作如下判别:如果它不是退格符也不是退行符,则将该字符压入栈顶;如果是一个退格符,则从栈顶删去一个字符;如果它是一个退行符,则将字符栈清为空栈。 Input 若干行程序或者数据,每行不超过200个字符。 Output 经过行编辑程序处理过后的输出。 Sample Input whil##ilr#e(s#*s) outcha@ putchar(*s=#++); Sample Output while(*s) putchar(*s++);
迷宫 Description 有一个 10 x 10 的迷宫,起点是‘S’,终点是‘E’,墙是‘#’,道路是空格。一个机器人从起点走到终点。当机器人走到一个通道块,前面已经没有路可走时,它会转向到当前面向的右手方向继续走。如果机器人能够过,则留下足迹‘*’,如果走不通,则留下标记‘!’。下面给出书中的算法,请你模拟机器人的走法输出最终的状态。 Input 一个 10 x 10 的二维字符数组。 Output 机器人走过的路径状态。 Sample Input ########## #S # # # # # # # # ## # # ### # # # # # # # # # ### ## # ## E# ########## Sample Output ########## #**#!!!# # # *#!!!# # #**!!## # #*### # #***# # # #***# # # ###*## # ## ****# ########## 位置,元素以及迷宫的类型定义: typedef struct{ int r, c; // 以行号和列号作为“坐标位置”类型 }PosType; typedef struct{ int ord; // 通道块在路径上的序号 PosType seat; // 通道块在迷宫中的“坐标位置” int di; // 从此通道块走向下一通道块的“方向” }SElemType; // 定义堆栈元素的类型 typedef struct{ char arr[10][11]; }MazeType; // 定义迷宫类型(二维字符数组
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!