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

来源:1-20 作业题

qq_陌_45

2017-11-23 18:55:44

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>

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

写回答

2回答

Miss路

2017-11-23

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

0

Miss路

2017-11-23

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

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

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

祝学习愉快!

0
hq_陌_45
h 可是就算是平年每个月的天数也有不一样的呀(就写月份乘30天么?), 还有如果是在闰年二月中旬还没到二月底过生日。 那这个1,到底还加不加呢老师
h017-11-23
共1条回复

0 学习 · 36712 问题

查看课程