PASCAL问题

2025-05-20 06:02:01
推荐回答(2个)
回答1:

type days=(mon,tue,wed,thu,fri,sat,sun);
var a,b,c,d,e,f,g,pri:days;i:integer;
begin
for a:=mon to sun do
for b:=mon to sun do
if b<>a then for c:=mon to sun do
if (c<>a) and (c<>b) then for d:=mon to sun do
if (d<>a) and (d<>b) and (d<>c) then for e:=mon to sun do
if (e<>a) and (e<>b) and (e<>c) and (e<>d) then for f:=mon to sun do
if (f<>a) and (f<>b) and (f<>c) and (f<>d) and (f<>e) then
for g:=mon to sun do
if (g<>a) and (g<>b) and (g<>c) and (g<>d) and (g<>e) and (g<>f) then
if (ord(a)=ord(c)+1) and (ord(d)=ord(e)+2) and (ord(b)=ord(g)-3) and (f>b) and (ffor i:=1 to 7 do
begin
case i of
1:begin
write('a:');pri:=a;
end;
2:begin
write('b:');pri:=b;
end;
3:begin
write('c:');pri:=c;
end;
4:begin
write('d:');pri:=d;
end;
5:begin
write('e:');pri:=e;
end;
6:begin
write('f:');pri:=f;
end;
7:begin
write('g:');pri:=g;
end;
end;
case pri of
mon:writeln('Monday');
tue:writeln('Tuesday');
wed:writeln('Wednesday');
thu:writeln('Thursday');
fri:writeln('Friday');
sat:writeln('Saturday');
sun:writeln('Sunday');
end;
end;
end.

回答2:

可以用穷举算法,把每种列举出来,然后加一个判别语句,如符合条件则输出。(因时间太紧无法写出原程序,请谅解。)