首页 | 新闻 | 短信 | 彩信 | 邮件 | 搜Q | 商城 | 搜索 | 社区 | 企业
学习公社-考试大全
学习公社 外语天地 学历考试 行业认证 在线试题 考试社区 搜狐教育
学习公社
搜索:课程 @城市 高级搜索 发布课程 免费注册 学习公社
  学习公社 > 认证考试 > 计算机类 > 考试辅导
 
万年历问题的Qbasic解决方法

LEARNING.SOHU.COM 2004-05-03  
 
<br>  10 DIM C(12), a$(6)
<br>  20 INPUT “YEAR”; Y
<br>  30 X = Y: V = 28
<br>  40 IF Y < 0 THEN 20
<br>  50 IF Y = 0 THEN END
<br>  60 S = X - 1 + INT((X - 1) / 4) - INT((X - 1) / 100) + INT((X - 1) / 400)
<br>  70 C(0) = X
<br>  80 S = S + 1
<br>  90 FOR I = 1 TO 12
<br>  100 READ K
<br>  110 IF I <> 3 THEN 190
<br>  120 IF X MOD 4 = 0 THEN 140
<br>  130 GOTO 190
<br>  140 IF X MOD 100 = 0 THEN 160
<br>  150 GOTO 180
<br>  160 IF X MOD 400 = 0 THEN 180
<br>  170 GOTO 190
<br>  180 K = K + 1: V = 29
<br>  190 S = S + K
<br>  200 M = S MOD 7
<br>  210 IF M = 0 THEN C(I) = 6 ELSE C(I) = M - 1
<br>  220 NEXT
<br>  230 FOR I = 0 TO 6
<br>  240 READ a$(I)
<br>  250 NEXT
<br>  260 L1 = 2: L2 = 38: GOSUB 610
<br>  270 PRINT TAB(39); C(0);
<br>  280 L1 = 45: L2 = 79: GOSUB 610
<br>  290 GOSUB 640: GOSUB 650
<br>  300 FOR J = 0 TO 3
<br>  310 GOSUB 640
<br>  320 FOR I = 0 TO 2
<br>  330 PRINT TAB(15 + I * 25); “(”; J * 3 + I + 1; “)”;
<br>  340 NEXT
<br>  350 GOSUB 650: GOSUB 640: GOSUB 650: GOSUB 640
<br>  360 GOSUB 660: GOSUB 650: GOSUB 640: GOSUB 650
<br>  370 GOSUB 400
<br>  380 NEXT J
<br>  390 L1 = 2: L2 = 79: GOSUB 610: PRINT : RESTORE 700: GOTO 20
<br>  400 X1 = 1: X2 = 1: X3 = 1
<br>  410 FOR L = 0 TO 5: GOSUB 640
<br>  420 FOR I = 0 TO 2
<br>  430 D = J * 3 + I + 1
<br>  440 IF D = 2 THEN 480 ELSE IF D = 4 THEN 470
<br>  450 IF D = 6 THEN 470 ELSE IF D = 9 THEN 470
<br>  460 IF D = 11 THEN 470 ELSE W = 31: GOTO 490
<br>  470 W = 30: GOTO 490
<br>  480 W = V <br>  490 IF I = 0 THEN Z = X1 ELSE IF I = 1 THEN Z = X2 ELSE Z = X3
<br>  500 M = (C(D) + Z) MOD 7
<br>  510 FOR N = M TO 6
<br>  520 IF Z > W THEN 580
<br>  530 IF Z < 10 THEN PRINT TAB(N * 3 + 6 + 25 * I); : PRINT USING “##”; Z; : GOTO 550
<br>  540 PRINT TAB(N * 3 + 5 + I * 25); : PRINT USING “###”; Z;
<br>  550 Z = Z + 1
<br>  560 IF I = 0 THEN X1 = Z ELSE IF I = 1 THEN X2 = Z ELSE X3 = Z
<br>  570 NEXT N
<br>  580 NEXT I: GOSUB 650
<br>  590 NEXT L: GOSUB 640: GOSUB 650
<br>  600 RETURN
<br>  610 FOR U = L1 TO L2
<br>  620 PRINT TAB(U); “*”;
<br>  630 NEXT: RETURN
<br>  640 L1 = 2: L2 = 2: GOSUB 610: RETURN
<br>  650 L1 = 79: L2 = 79: GOSUB 610: RETURN
<br>  660 FOR I = 0 TO 2
<br>  670 FOR Z = 0 TO 6
<br>  680 PRINT TAB(3 * Z + 6 + I * 25); : PRINT USING “\”; a$(Z);
<br>  690 NEXT: NEXT: RETURN
<br>  700 DATA 0,31,28,31,30,31,30,31,31,30,31,30
<br>  710 DATA “SU”,“MO”,“TU”,“WE”,“TH”,“FR”,“SA”


快速搜索通道
 
考试月历
更多 高级搜索 考试大全
搜索:课程 @城市   高级搜索 发布课程

ChinaRen - 繁体版 - 搜狐招聘 - 网站登录 - 网站建设 - 设置首页 - 广告服务 - 联系方式 - 保护隐私权 - About SOHU - 公司介绍
Copyright © 2004 Sohu.com Inc. All rights reserved.搜狐公司 版权所有