永发信息网

判断三个整数是否相邻

答案:3  悬赏:40  手机版
解决时间 2021-08-15 13:02
  • 提问者网友:原来太熟悉了会陌生
  • 2021-08-14 13:34
判断三个整数是否相邻,是输出"TRUE",否则输出"FALSE"。 我的答案是这样的: program P228; var a,b,c,d:longint; begin readln(a,b,c); d:=a; if b-d=1 then d:=b else writeln('FALSE'); if c-d=1 then writeln('TURE'); end. 各位仁兄,有哪里不对吗? 应该怎样改??? 我用的是Pascal语言。
最佳答案
  • 五星知识达人网友:西岸风
  • 2021-08-14 14:17

先说一个反例:a=5,b=10,c=6;


因为在进行完第一个if后,已经输出结果,但他仍会进行下一个if,所以出错;


我来做一下吧:


program p228;


var i,j:integer;


a:array[1..3]of integer;


begin


for i:=1 to 3 do read(a[i]);


for i:=1 to 2 do


forj:=i+1 to 3 do


if a[i]>a[j] then 交换;


if ((b-a=1)and(c-b=1))then writeln('true')


else writeln('false');


end.


全部回答
  • 1楼网友:上分大魔王
  • 2021-08-14 16:19
thank  
  • 2楼网友:过活
  • 2021-08-14 15:16

改成这样:

program P228; var a,b,c,d:longint; flag:boolean; begin readln(a,b,c); d:=a;flag:=true; if b-d=1 then d:=b else flag:=false; if c-d<>1 then flag:=false; writeln(flag); readln; end.

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯