Pee*_*alu -1 pascal freepascal
输入:月份名称(1月/ 2月/ .../12月)
产量:季节(冬/春/夏/秋)
冬季:12月至2月
春天:3月 - 5月
夏季:6月 - 8月
秋天:9月 - 11月
我试过了:
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.
Run Code Online (Sandbox Code Playgroud)
但是这个程序没有用.
运算符优先级 - 这很重要.你需要写:
if (Month = 'March') or (Month = 'April') or (Month = 'May') then
Run Code Online (Sandbox Code Playgroud)
这是因为在Pascal中,or优先级高于=实际评估的优先级:
if ((Month = ('March' or Month)) = ('April' or Month)) = 'May' then
Run Code Online (Sandbox Code Playgroud)
这显然毫无意义,不会编译(我可能在上面的行上犯了一个错误,但这是一般的想法).请参阅此链接以了解有关Pascal中运算符优先级的更多信息.