一年中有幾天》pascal求解

2022-11-06 06:51:47 字數 2223 閱讀 2202

1樓:秦朝的海

pos(s,t)函式用錯了,在'abcd'裡找'b'用pos('b','abcd');所以幫你改了一下**(發現錯誤不少。。。):

program dj;

var s,s1,s2,s3:string;

year,mouth,days:longint; //月的英文是month不是mouth。。。懶得改了

i,h:longint;

a:array[1..50] of qword;

begin

readln(s);

s1:=copy(s,1,pos('-',s)-1); //修改了pos

delete(s,1,pos(s,'-')); //刪除時是pos(s,'-')不是pos(s,'-')-1,否則開頭會留一個『-』

s2:=copy(s,1,pos('-',s)-1); //同上

delete(s,1,pos(s,'-')); //同上

s3:=s; //delete兩次後s只剩下了日,所以不用再copy了

val(s1,year); //不需要k(這個引數可以省略)

val(s2,mouth); //同上

val(s3,days); //同上

if ((year mod 4=0) and (year mod 100<>0)) or (year mod 400=0) then //or左邊要再加一個大括號括起來

for i:=1 to 12 do

case i of

1,3,5,7,8,10,12:a[i]:=31; //我覺得,既然閏年平年這幾個月天數都不變,可以合併到外面寫,再用if判斷a[2]

4,6,9,11:a[i]:=30;

2:a[i]:=29;

endelse

for i:=1 to 12 do

case i of

1,3,5,7,8,10,12:a[i]:=31;

4,6,9,11:a[i]:=30;

2:a[i]:=28;

end;

for i:=1 to mouth-1 do h:=h+a[i];

//比如2月2日,實際上只有一個整的月1月,故改為month-1,a[i]也不用*month

h:=h+days;

writeln(h);

end.

其實你可以把1-12月的天數定義為常量:

const months:array[1..12]of integer=(31,28,31,30,31,30,31,31,30,31,30,31);

再判斷一下閏年就在months[2]+1

另外,一年最多隻有366天,所以你完全可以迴圈做,附**:

program dj2;

var s,s1,s2,s3:string;

year,month,days,i,h,m,d:longint;

a:array[1..12] of longint;

begin

readln(s);

s1:=copy(s,1,pos('-',s)-1);

delete(s,1,pos(s,'-'));

s2:=copy(s,1,pos('-',s)-1);

delete(s,1,pos(s,'-'));

s3:=s;

val(s1,year);

val(s2,month);

val(s3,days);

for i:=1 to 12 do

case i of

1,3,5,7,8,10,12:a[i]:=31;

4,6,9,11:a[i]:=30;

2:if((year mod 4=0)and(year mod 100<>0))or(year mod 400=0) then a[i]:=29 else a[i]:=28;

end;

m:=1;

d:=0;

h:=0;

repeat

inc(h);

inc(d);

if d>a[m] then

begin

d:=1;

inc(m);

end;

until (m=month)and(d=days);

writeln(h);

end.

一年中有大月,小月。對不對,一年中有7個大月,4個小月。對不對?

y,正確 錯誤 分析 根據年月日的知識可知 一年有12個月,分為7個大月 1 3 5 7 8 10 12月,大月每月31天,4個小月 4 6 9 11月,小月每月30天,閏年的二月有29天,平年的二月有28天 據此判斷 解答 解 一年有12個月,分為7個大月 1 3 5 7 8 10 12月,4個小...

連續4年中有閏年嗎,連續4年中一定有一年是閏年 是不是正確的

不一定,閏年是指能被4整除的年份,但是如果某年能被100整除,則需要此年同時被400整除,才是閏年 所以並不一定每4年就會出現一個閏年,比如1900年就不是閏年 你說的是陽曆還是陰曆啊,陽曆的話有,陰曆的話也有!陰曆每隔一年是閏年 不一定。100倍數的年份必須被400整除才是閏年。比如1896年是閏...

一年有多少個節日?分別是什麼節,中國一年中有多少個節日?

中國一年內的節日你都知道嗎?中國的傳統節日有18個。中國的傳統節日有除夕 臘月最後一天 春節 正月初一 元宵節 正月十五 寒食節 清明節前一天 清明節 陽曆 4月5日前後 上巳節 農曆 三月初三 端午節 農曆 五月初五 七夕節 農曆 七月初七 中秋節 農曆 八月十五 重陽節 農曆 九月九 寒衣節 農...