这个作业1-14,闰年这个东西怎么做啊

这个作业1-14,闰年这个东西怎么做啊

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110

<!DOCTYPE html>

<html>

<head>

    <title>1-14</title>

    <meta charset="utf-8">

</head>

<body>

    <script type="text/javascript">

        var a=prompt("请输入您的出生年份"),b=prompt("请输入您的出生月份"),c=prompt("请输入您的出生日期"),

        d,e,f;

        function hs(){

            if(arguments[0]<2017){

                d=arguments[0];

            }else{

                alert("您输入的年份有误");

            }

            if (arguments[1]<=12){

                if(a%400==0){

                    switch(b){

                        case "1":

                        e=31;

                        break;

                        case "2":

                        e=29+31;

                        break;

                        case "3":

                        e=31+29+31;

                        break;

                        case "4":

                        e=30+31+29+31;

                        break;

                        case "5":

                        e=31+30+31+29+31;

                        break;

                        case "6":

                        e=30+31+30+31+29+31;

                        break;

                        case "7":

                        e=31+30+31+30+31+29+31;

                        break;

                        case "8":

                        e=31+31+30+31+30+31+29+31;

                        break;

                        case "9":

                        e=30+31+31+30+31+30+31+29+31;

                        break;

                        case "10":

                        e=31+30+31+31+30+31+30+31+29+31;

                        break;

                        case "11":

                        e=30+31+30+31+31+30+31+30+31+29+31;

                        break;

                        case "12":

                        e=31+30+31+30+31+31+30+31+30+31+29+31;

                        break;}

                    }else{

                        switch(b){

                        case "1":

                        e=31;

                        break;

                        case "2":

                        e=28+31;

                        break;

                        case "3":

                        e=31+28+31;

                        break;

                        case "4":

                        e=30+31+28+31;

                        break;

                        case "5":

                        e=31+30+31+28+31;

                        break;

                        case "6":

                        e=30+31+30+31+28+31;

                        break;

                        case "7":

                        e=31+30+31+30+31+28+31;

                        break;

                        case "8":

                        e=31+31+30+31+30+31+28+31;

                        break;

                        case "9":

                        e=30+31+31+30+31+30+31+28+31;

                        break;

                        case "10":

                        e=31+30+31+31+30+31+30+31+28+31;

                        break;

                        case "11":

                        e=30+31+30+31+31+30+31+30+31+28+31;

                        break;

                        case "12":

                        e=31+30+31+30+31+31+30+31+30+31+28+31;

                        break;

                    }

                }

            }else{

                alert("您输入的月份有误");

            }

            if (arguments[2]<=32) {

                f=arguments[2];

            }else{

                alert("您输入的日期有误");

            }

            return("您的生日在"+d+"年"+(e+f)+"日");

        }

        document.write(hs(a,b,c));

    </script>

</body>

</html>

本来以为就写出年月日,结果一看要写年和第几天!为什么这样显示上千天去了。。?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
Miss路 2017-11-23 19:55:18

平年和闰年的差距只有2月的那一天,和大月小月有什么关系呢?31天和30天还是你的写法。判断闰年的时候还要求月份是3月以后的才+1,如果是三月份以前的就不用加1。你考虑的都是细节,很棒,你自己再试试,你有能力改好的,如果还不行我再帮你调整正确的代码。加油!

Miss路 2017-11-23 19:21:51

可以都先按平年来算,在最后得出总数之后,判断一个输入的年是平年还是闰年,如果闰年就让总数+1.判断闰年的条件是:

(year%4==0 && year%100!=0) || (year%400==0)

你的写法比较复杂,一旦代码多了就容易出错,建议你可以试一下用数组来实现。

祝学习愉快!

  • 提问者 qq_陌_45 #1
    可是就算是平年每个月的天数也有不一样的呀(就写月份乘30天么?), 还有如果是在闰年二月中旬还没到二月底过生日。 那这个1,到底还加不加呢老师
    2017-11-23 19:35:40
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师