请选择 进入手机版 | 继续访问电脑版

Lazarus中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

版权申明
查看: 1325|回复: 4

写好的程序总是在屏幕显示上越界并且不会换行

[复制链接]

该用户从未签到

发表于 2018-1-21 09:19:31 | 显示全部楼层 |阅读模式
本帖最后由 摇摆兔 于 2018-1-21 10:07 编辑
  1. PROGRAM MOVING_TOWER;
  2. VAR N,K:INTEGER;VAR S:BOOLEAN;
  3. PROCEDURE TOWER(N:INTEGER;VAR K:INTEGER;VAR S:BOOLEAN);
  4. VAR L,M:INTEGER;VAR J:INTEGER;VAR T:BOOLEAN;
  5. BEGIN
  6.         IF N=0 THEN EXIT;
  7.         CASE K OF
  8.                 1:S:=TRUE;
  9.                 3:S:=FALSE;
  10.         END;
  11.         J:=K;T:=S;
  12.         FOR M:=1 TO 2 DO
  13.         BEGIN
  14.                 TOWER(N-1,J,T);
  15.                 IF S THEN L:=K+1 ELSE L:=K-1;
  16.                 WRITE(N,':',K,'->',L,' ');
  17.                 K:=L;
  18.         END;
  19.         TOWER(N-1,J,T);
  20. END;
  21. BEGIN
  22.         READLN(N);K:=1;
  23.         TOWER(N,K,S);
  24. END.
复制代码
不会换行怎么办?

回复

使用道具 举报

该用户从未签到

发表于 2018-1-23 17:17:37 | 显示全部楼层

RE: 写好的程序总是在屏幕显示上越界并且不会换行

方法1. 把第16行改成 WRITELN(N,':',K,'->',L,' ');

方法2. 用分行符號 #13#10,把第16行改成 WRITE(N,':',K,'->',L,' '+#13#10);
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主 发表于 2018-1-23 17:37:56 | 显示全部楼层

RE: 写好的程序总是在屏幕显示上越界并且不会换行

chenyuchih 发表于 2018-1-23 17:17
方法1. 把第16行改成 WRITELN(N,':',K,'->',L,' ');

方法2. 用分行符號 #13#10,把第16行改成 WRITE(N,' ...

我的意思是要求光标到了屏幕边上自动换行
回复 支持 反对

使用道具 举报

QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1

GMT+8, 2018-12-10 03:41 , Processed in 0.379029 second(s), 11 queries , Redis On.

Powered by Discuz! F1.0 Build 20160930

© 2001-2018 Comsenz Inc. & Discuz! Fans

快速回复 返回顶部 返回列表