你的错误有好几处:
1、变量声明写错了;
按你的意思,应该输入两个变量,一个是年份(看样子你是想直接将年份设为10000?),一个是月份,那么变量声明可以写成:
var a:1..12;
c:integer;
2、程序部分语句错误;
如果年份、月份需要输入可写成:
read(a,c);
如果只输入月份,年份设为10000,可写成:
read(a);
c:=10000;
注意,赋值符号是“:=”,而不是“:”。
此外,在判断季节的语句中,应该是用or(或)不能用and(和)
if month=3 or month=4 or month=5 then write('spring');
同样,在判断天数语句中,也是应该用or,不能用and.
但是,用case情况语句,就更简洁了。
下面是我给你重编的程序。
---------------------------------
program date;
var year: integer;
month: 1..12;
days: integer;
season: string;
begin
read(year,month); //输入年,月
case month of //判断天数
1,3,5,7,8,10,12: days:=31;
4,6,9,11: days:=30;
2: if (year mod 4=0) and (year mod 100<>0) or (year mod 400=0)
then days:=29
else days:=28;
end;
case month of //判断季节
3,4,5: season:='spring';
6,7,8: season:='summer';
9,10,11: season:='autumn';
12,1,2: season:='winter';
end;
writeln(season,' ',days);
end.
我试了也不行!!!!!!!!?????
追答c的赋值应该用":="