led灯管买多少瓦的:奥数问题

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/30 05:05:00
1990年元旦是星期一,2000年五一是星期几

我编写了一个专门计算日期的程序。

经过计算2000年五一是星期一

程序如下:
VERSION 5.00
Begin VB.Form Form1
BorderStyle = 1 'Fixed Single
Caption = "日期计算"
ClientHeight = 3660
ClientLeft = 45
ClientTop = 375
ClientWidth = 5790
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 3660
ScaleWidth = 5790
StartUpPosition = 3 '窗口缺省
Begin VB.TextBox result
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00004080&
Height = 2055
Left = 240
Locked = -1 'True
MultiLine = -1 'True
TabIndex = 5
Top = 1200
Width = 5295
End
Begin VB.CommandButton Command1
Caption = "确定"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 4200
TabIndex = 3
Top = 360
Width = 1095
End
Begin VB.TextBox date
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00FF0000&
Height = 375
Left = 240
MaxLength = 8
TabIndex = 1
Top = 360
Width = 2175
End
Begin VB.Label Label3
Caption = "结果"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 240
TabIndex = 4
Top = 960
Width = 1815
End
Begin VB.Label Label2
Caption = "范例:“20060123”代表2006年1月23日。"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H000000C0&
Height = 255
Left = 240
TabIndex = 2
Top = 3360
Width = 3495
End
Begin VB.Label Label1
Caption = "请输入日期"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 240
TabIndex = 0
Top = 120
Width = 1815
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
Label2 = "范例:“20060123”代表2006年1月23日。"
For a = 1 To 8
b = Mid(date, a, 1)
If b > "9" Or b < "0" Then Label2 = "输入不能为空且只能包含数字。": GoTo 9
Next
y = Val(Mid(date, 1, 4))
m = Val(Mid(date, 5, 2))
d = Val(Mid(date, 7, 2))
If m = 0 Or m > 12 Or d = 0 Or d > 31 Or y = 0 Then Label2 = "输入的日期无效。": GoTo 9
If m = 4 Or m = 6 Or m = 9 Or m = 11 Then If d > 30 Then Label2 = "输入的日期不合法。": GoTo 9
If m = 2 And d > 29 Then Label2 = "输入的日期不合法。": GoTo 9
If m = 2 And y Mod 4 > 0 And d > 28 Then Label2 = "输入的日期不合法。": GoTo 9
result = Right("000" + Format(y), 4) + "年" + Right("0" + Format(m), 2) + "月" + Right("0" + Format(d), 2) + "日" + Space(64) + "* 星期" + chd(y, m, d) + Space(31) + "* " + day(y, 12, 31) + "天中第" + day(y, m, d) + "日"
result = result + Space(146 - Len(result)) + "* " + week(y, 12, 31) + "周中第" + week(y, m, d) + "周"
result = result + Space(181 - Len(result)) + "* " + Format(y) + "年是" + year(y) + animal(y)
9 End Sub
Function whichday(y, m, d)
a = y - 1
a = a + a \ 4 - a \ 100 + a \ 400
If m = 5 Then n = 1
If m = 8 Then n = 2
If m = 6 Then n = 4
If m = 9 Or m = 12 Then n = 5
If m = 4 Or m = 7 Then n = 6
If m = 2 Or m = 3 Or m = 11 Then n = 3
If (y Mod 4 = 0 And y Mod 100 > 0 Or y Mod 400 = 0) And m > 2 Then n = n + 1
n = a + n + d
whichday = n - (n \ 7) * 7
End Function
Function chd(y, m, d)
a = whichday(y, m, d)
chd = "日"
If a = 1 Then chd = "一"
If a = 2 Then chd = "二"
If a = 3 Then chd = "三"
If a = 4 Then chd = "四"
If a = 5 Then chd = "五"
If a = 6 Then chd = "六"
End Function
Function day(y, m, d)
day = 334 + d
If m = 1 Then day = d
If m = 2 Then day = 31 + d
If m = 3 Then day = 59 + d
If m = 4 Then day = 90 + d
If m = 5 Then day = 120 + d
If m = 6 Then day = 151 + d
If m = 7 Then day = 181 + d
If m = 8 Then day = 212 + d
If m = 9 Then day = 243 + d
If m = 10 Then day = 273 + d
If m = 11 Then day = 304 + d
If (y Mod 4 = 0 And y Mod 100 > 0 Or y Mod 400 = 0) And m > 2 Then day = day + 1
day = Format(day)
End Function
Function animal(y)
y = y Mod 12
animal = "猴"
If y = 1 Then animal = "鸡"
If y = 2 Then animal = "狗"
If y = 3 Then animal = "猪"
If y = 4 Then animal = "鼠"
If y = 5 Then animal = "牛"
If y = 6 Then animal = "虎"
If y = 7 Then animal = "兔"
If y = 8 Then animal = "龙"
If y = 9 Then animal = "蛇"
If y = 10 Then animal = "马"
If y = 11 Then animal = "羊"
End Function
Function year(y)
m = y Mod 10
n = y Mod 12
If m = 0 Then a = "庚"
If m = 1 Then a = "辛"
If m = 2 Then a = "壬"
If m = 3 Then a = "癸"
If m = 4 Then a = "甲"
If m = 5 Then a = "乙"
If m = 6 Then a = "丙"
If m = 7 Then a = "丁"
If m = 8 Then a = "戊"
If m = 9 Then a = "己"
If n = 0 Then b = "申"
If n = 1 Then b = "酉"
If n = 2 Then b = "戌"
If n = 3 Then b = "亥"
If n = 4 Then b = "子"
If n = 5 Then b = "丑"
If n = 6 Then b = "寅"
If n = 7 Then b = "卯"
If n = 8 Then b = "辰"
If n = 9 Then b = "巳"
If n = 10 Then b = "午"
If n = 11 Then b = "未"
year = a & b
End Function
Function week(y, m, d)
week = Format((whichday(y, 1, 1) + day(y, m, d) - 1) \ 7 + 1)
End Function