1-20作业

1-20作业

function days(){
var year,mon,day,i,d;
//判断年份是否为数字
year=parseInt(prompt("请输入您的出生年份"));
while (isNaN(year)){
alert("请输入数字");
year=prompt("请输入您的出生年份");
}
//判断月份是否为数字
mon=parseInt(prompt("请输入您的出生月份"));
while (mon>12 || mon<1){
alert("请输入正确的出生月份");
mon=prompt("请输入您的出生月份");
}
//判断日期是否为正确
day=parseInt(prompt("请输入您的出生日期"));
while (day>31 || day<1){
alert("请输入正确的出生日期");
day=prompt("请输入您的出生日期");
}
d=0;
for(i=1;i<=mon;i++){
if(i==3 || i==5 || i==7 || i==8 || i==10 || i==12 ){
d+=31;
}else if(i==4 || i==6 || i==9 || i==11){
d+=30;
}else if (i==2){
if(year%4===0 && year%100!==0 || year%400===0)
{

d+=31;//判断闰年2月的天数,并补上1月的天数

}else {
d+=30;//判断平年2月的天数,并补上1月的天数

}
}
}
day=day+d;

document.write("您的生日在"+year+"年的第"+day+"天");
}

days();

这是按老师批改完后改的,为什么还是不行

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

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

2回答
好帮手慕夭夭 2018-06-15 17:37:46

同学可以参考一下代码修改一下哦 ,祝学习愉快 !

     

<!DOCTYPE html>


<html>


<head>


    <meta charset="UTF-8">


    <title>JavaScript</title>


</head>


<body>


    <script>


                   var year,mon,day,i,d;


                   function days(){


                            //判断年份是否为数字


                            year=parseInt(prompt("请输入您的出生年份"));


                            while (isNaN(year)){


                                     alert("请输入数字");


                                     year=prompt("请输入您的出生年份");


                            }


                            //判断月份是否为数字


                            mon=parseInt(prompt("请输入您的出生月份"));        


                            while (mon>12 || mon<1){


                                     alert("请输入正确的出生月份");


                                     mon=prompt("请输入您的出生月份");


                            }


                            //判断日期是否为正确


                            day=parseInt(prompt("请输入您的出生日期")); 


                            while (day>31 || day<1){


                                     alert("请输入正确的出生日期");


                                     day=prompt("请输入您的出生日期");


                            }


                            d=0;


                           


                            //不计算当月


                            for(i=1;i<mon;i++){


                            //for(i=1;i<=mon;i++){


                                     //1月漏了


                                     if(i==1 || i==3 || i==5 || i==7 || i==8 || i==10 || i==12 ){


                                     //if(i==3 || i==5 || i==7 || i==8 || i==10 || i==12 ){

                                               d+=31;


                                     }else if(i==4 || i==6 || i==9 || i==11){


                                               d+=30;


                                     }else if (i==2){


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


                                                        d+=31;//判断闰年2月的天数,并补上1月的天数


                                               }else {


                                                        d+=30;//判断平年2月的天数,并补上1月的天数

                                               }


                                     }


                            }


                           


                            //1月漏了


                            if(mon<=2){


                            // if(mon==2){


                                     day=day+d;


                            }else{


                                     day=day+d-2;//减去多余的两天


                            }


                           


                            document.write("您的生日在"+year+"年的"+day+"天");


                   }


                           


                   days();


         </script>


</body>


</html>


好帮手慕夭夭 2018-06-15 16:13:48

代码修改如下:

http://img1.sycdn.imooc.com//climg/5b2375020001d7a509230279.jpg

http://img1.sycdn.imooc.com//climg/5b23752300015f7d05150349.jpg

完善一下吧 ,祝学习愉快 !

  • 提问者 Aries典 #1
    特意扣掉一月的
    2018-06-15 16:43:37
  • 好帮手慕夭夭 回复 提问者 Aries典 #2
    一月不能扣掉计算就不准确了哦 , 计算天数是要从一月份到当年生日当天的天数 .
    2018-06-15 17:10:16
  • 提问者 Aries典 回复 好帮手慕夭夭 #3
    不扣的话 输入1月的时间就错了
    2018-06-15 17:33:35
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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