-1

输入:月份名称(一月/二月/.../十二月)

输出:季节(冬季/春季/夏季/秋季)

冬季:12 月 - 2 月

春季:三月至五月

夏季:6 月 - 8 月

秋季:九月至十一月

我试过了:

Program Months;

var
  Month:String;

begin
  writeln('Insert month name:');
  readln(Month);

  if Month = 'March' or Month = 'April' or Month = 'May' then

    begin
    writeln(Month,' is Spring month');
    end

    ...
    etc   
    ...

end.

但是这个程序不起作用。

4

1 回答 1

6

运算符优先级 - 这很重要。你需要写:

if (Month = 'March') or (Month = 'April') or (Month = 'May') then

这是因为在 Pascal 中,or优先级比=实际评估的要高:

if ((Month = ('March' or Month)) = ('April' or Month)) = 'May' then

这显然是没有意义的并且不会编译(我可能在上面的行中犯了一个错误,但这是一般的想法)。请参阅此链接以了解有关 Pascal 中运算符优先级的更多信息。

于 2012-11-25T01:21:30.397 回答