这题怎么错了?????????pascal程序。。。高手说一下原因。。我是菜鸟啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊!!
你的错误有好几处:
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.
var 变量名:类型;应该是这样的吧。从报错看是第4行和第3行之间少了;
有差不多10年没看过Pascal了。不知道记得对不对
那怎么写呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
var a,b,c:integer;
begin
c:=10000;
a是你自己输入的,b是算出来的。不用初始化赋值
我试了也不行!!!!!!!!?????
c的赋值应该用":="