1-20作业题

1-20作业题

老师好,需要您帮忙完善或是修改一下

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

</head>

<body>

<script type="text/javascript">

var year=prompt("请输入年");

var month=prompt("请输入月");

var date=prompt("请输入日");

function sum(year,month,date){

// return arguments[0];

//闰年的判断方法

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

//闰年天数

if(

arguments[1]==1||

arguments[1]==3||

arguments[1]==5||

arguments[1]==7||

arguments[1]==9||

arguments[1]==8||

arguments[1]==10||

arguments[1]==12){

return 31

}else if(arguments[1]==4||

arguments[1]==6||

arguments[1]==9||

arguments[1]==11){

return 30

}else{

return 29

}

}else{//平年天数

if(

arguments[1]==1||

arguments[1]==3||

arguments[1]==5||

arguments[1]==7||

arguments[1]==8||

arguments[1]==10||

arguments[1]==12){

return 31

}else if(

arguments[1]==4||

arguments[1]==6||

arguments[1]==9||

arguments[1]==11){

return 30

}else{

return 28

}

}

}

console.log(sum(year))

</script>

</body>

</html>


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

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

3回答
好帮手慕夭夭 2018-12-06 19:18:09

你好同学 , 如下代码的逻辑是不完善的 , 如下:

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

另外同学在调用add时没有传入参数 , 所以arguments[1]没有值 , 即使传入了日期 . 使用arguments[1]判断月份也是不对的 . 因为arguments[1]值始终是你传入的月份 . 例如你输入的是5月 . 那么arguments[1]就是6 , 那么只会执行if中等于6的条件 .

如果想对月份进行判断 , 然后返回月的值 , 你想要对这些月份计算 , 返回它们的总和 . 例如你输入3月3日 , 那么计算1 ,2月的和 , 然后再加上3月的三天 . 所以月份需要使用for循环 .循环1,2月份进行累加 . 然后return的是累加的值 . 按照此思路如下修改: 

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

同学按照老师上面的建议去修改即可 . 祝学习愉快 ,望采纳 .

提问者 RoseMe 2018-12-06 16:59:50

老师好,我的思路是先判断年是闰年还是平年,然后将每月的时间进行判断,返回月的值,最后一年中的第几天不知道要如何往下写了,求解?

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<!--<script src="js/index.js" type="text/javascript" charset="utf-8"></script>-->

</head>

<body>

<script type="text/javascript">

// var years=prompt("请输入年"),

// month=prompt("请输入月"),

// day=prompt("请输入日");

var years=prompt("请输入年"),

sum=0,//月和每月第几天的和

month=prompt("请输入月"),

monther,months;

function add(){

//先判断是闰年还是平年

//四年一闰,百年不闰,四百年再闰。也就是说,每4年就是一个闰年,

//但是当年份是整百数时,必须是400的倍数才是闰年;

//不是400的倍数的年份,即使是4的倍数也不是闰年。

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

document.write("您的生日在"+years+"年");

//月

if(

arguments[1]==1||

arguments[1]==3||

arguments[1]==5||

arguments[1]==7||

arguments[1]==9||

arguments[1]==8||

arguments[1]==10||

arguments[1]==12){

return arguments[1]=31; 

}else if(arguments[1]==4||

arguments[1]==6||

arguments[1]==9||

arguments[1]==11){

return arguments[1]=30; 

}else{

return arguments[1]=29; 

}

}else{

document.write("您的生日在"+years+"年")

}

}

var a= add()

console.log(a)

</script>

</body>

</html>


好帮手慕夭夭 2018-12-03 17:08:38

你好同学 , 经过测试 , 代码的计算结果不正确 . 因为代码中 ,没有进行计算, 而是使用return返回的了确切的数字 ,那么当当你输入日期后 ,如果符合判断的条件 ,那么就返回条件中对应的return的数值 .

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

同学可以参考问答区域其他同学的思路 ,重新实战一下 , 例如

https://class.imooc.com/course/qadetail/79836

另外 , 建议同学在完成作业时 , 能够上传作业. 也会有批复老师对作业中存在的问题进行指导 .

祝学习愉快 ,望采纳 .

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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