主题:[原创]更好的
lwx0628
[专家分:0] 发布于 2007-07-08 20:13:00
program sf_3;
var
a,b,c,d:char;
begin
writeln;
for a:='1' to '4' do
for b:='1' to '4' do
for c:='1' to '4' do
for d:='1' to '4' do
begin
if ((ord(a='1')+ord(b='3')) + (ord(c='1')+ord(d='4'))
+ (ord(d='1')+ord(b='3'))) =3 then
write(a,'a',b,'b',c,'c',d,'d');
end;
end.
回复列表 (共1个回复)
沙发
Matodied [专家分:7560] 发布于 2007-07-08 20:40:00
唉!现在有不少人把PASCAL和QBASIC搞混了。
楼主的是什么程序啊!说QBASIC的不是,PASCAL的也不是……
[quote]畸形+变异=上段代码[/quote]
楼主想做的程序是这样一个问题:
有A、B、C、D四个人参加一个比赛,他们刚好获得了前四名。赛后有人问他们的名次,他们一共说了3句话,内容如下:
1、“A是第1名,B是第3名。”
2、“C是第1名,D是第4名。”
3、“D是第1名,B是第3名。”
其中每句话都是一真一假,求他们的名次。
如果上个问题用QBASIC做应该是这样的:
CLS
DATA first,second,third,fourth
DIM a$(4): FOR i = 1 TO 4: READ a$(i): NEXT i
FOR a = 1 TO 4: FOR b = 1 TO 4: FOR c = 1 TO 4: FOR d = 1 TO 4
IF a * b * c * d = 24 AND a + b + c + d = 10 THEN
IF (a = 1) + (b = 3) = -1 THEN
IF (c = 1) + (d = 4) = -1 THEN
IF (d = 1) + (b = 3) = -1 THEN
PRINT "A is "; a$(a)
PRINT "B is "; a$(b)
PRINT "C is "; a$(c)
PRINT "D is "; a$(d)
END IF
END IF
END IF
END IF
NEXT d, c, b, a
END
运行结果:
A is fourth
B is third
C is first
D is second
至于PASCAL的我就不编了,除非你到PASCAL论坛去发。
我来回复