一个月最多有5个星期,一年中,最多有几个月有5个星期

请列式说明,并把步骤写全,谢谢!

当这年是365天时
一月一号是周一,周二。。。。周末的情形是
10个 10个 10个 10个 9个 7个 9个
当这年是366天时
一月一号是周一,周二。。。。周末的情形是
10个 10个 10个 9个 9个 9个 9个

可以理解为
366/7=53星期

除去每个月必有的四个星期 53-12×4=5
最理想情况下那5个星期被10个月分了,就是10个月

我编vb做的,有可能错误,但是绝对不是5个月

Private Sub Command1_Click()
Dim a, b, c, d, t As Integer
For a = 1 To 7
b = a
d = 1

For c = 2 To 31
b = b + 1
If b = 8 Then b = 1
If b = 1 Then d = d + 1
Next c
If d = 5 Then t = t + 1
d = 1

For c = 2 To 29
b = b + 1
If b = 8 Then b = 1
If b = 1 Then d = d + 1
Next c
If d = 5 Then t = t + 1
d = 1

For c = 2 To 31
b = b + 1
If b = 8 Then b = 1
If b = 1 Then d = d + 1
Next c
If d = 5 Then t = t + 1
d = 1

For c = 2 To 30
b = b + 1
If b = 8 Then b = 1
If b = 1 Then d = d + 1
Next c
If d = 5 Then t = t + 1
d = 1

For c = 2 To 31
b = b + 1
If b = 8 Then b = 1
If b = 1 Then d = d + 1
Next c
If d = 5 Then t = t + 1
d = 1

For c = 2 To 30
b = b + 1
If b = 8 Then b = 1
If b = 1 Then d = d + 1
Next c
If d = 5 Then t = t + 1
d = 1

For c = 2 To 31
b = b + 1
If b = 8 Then b = 1
If b = 1 Then d = d + 1
Next c
If d = 5 Then t = t + 1
d = 1

For c = 2 To 31
b = b + 1
If b = 8 Then b = 1
If b = 1 Then d = d + 1
Next c
If d = 5 Then t = t + 1
d = 1

For c = 2 To 30
b = b + 1
If b = 8 Then b = 1
If b = 1 Then d = d + 1
Next c
If d = 5 Then t = t + 1
d = 1

For c = 2 To 31
b = b + 1
If b = 8 Then b = 1
If b = 1 Then d = d + 1
Next c
If d = 5 Then t = t + 1
d = 1

For c = 2 To 30
b = b + 1
If b = 8 Then b = 1
If b = 1 Then d = d + 1
Next c
If d = 5 Then t = t + 1
d = 1

For c = 2 To 31
b = b + 1
If b = 8 Then b = 1
If b = 1 Then d = d + 1
Next c
If d = 5 Then t = t + 1
d = 1
Print t
t = 0
Next a

End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-08-07
366/7=53星期

除去每个月必有的四个星期 53-12×4=5

所以一年最多有5个月有5个星期本回答被提问者采纳
第2个回答  2008-08-07
366/7=53星期

除去每个月必有的四个星期 53-12×4=5

所以一年最多有5个月有5个星期
第3个回答  2019-05-15
不明白你想得到的答案是啥,不过一个月最多4个星期的,剩下的那两三天也只能是半个星期不到。
第4个回答  2008-08-07
一年52个周、幸运52阿呵呵
一共有四个月是5个周