这个作业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。你考虑的都是细节,很棒,你自己再试试,你有能力改好的,如果还不行我再帮你调整正确的代码。加油!
Miss路
2017-11-23
可以都先按平年来算,在最后得出总数之后,判断一个输入的年是平年还是闰年,如果闰年就让总数+1.判断闰年的条件是:
(year%4==0 && year%100!=0) || (year%400==0)
你的写法比较复杂,一旦代码多了就容易出错,建议你可以试一下用数组来实现。
祝学习愉快!
相似问题