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
你好同学 , 如下代码的逻辑是不完善的 , 如下:
另外同学在调用add时没有传入参数 , 所以arguments[1]没有值 , 即使传入了日期 . 使用arguments[1]判断月份也是不对的 . 因为arguments[1]值始终是你传入的月份 . 例如你输入的是5月 . 那么arguments[1]就是6 , 那么只会执行if中等于6的条件 .
如果想对月份进行判断 , 然后返回月的值 , 你想要对这些月份计算 , 返回它们的总和 . 例如你输入3月3日 , 那么计算1 ,2月的和 , 然后再加上3月的三天 . 所以月份需要使用for循环 .循环1,2月份进行累加 . 然后return的是累加的值 . 按照此思路如下修改:
同学按照老师上面的建议去修改即可 . 祝学习愉快 ,望采纳 .
老师好,我的思路是先判断年是闰年还是平年,然后将每月的时间进行判断,返回月的值,最后一年中的第几天不知道要如何往下写了,求解?
<!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>
你好同学 , 经过测试 , 代码的计算结果不正确 . 因为代码中 ,没有进行计算, 而是使用return返回的了确切的数字 ,那么当当你输入日期后 ,如果符合判断的条件 ,那么就返回条件中对应的return的数值 .
同学可以参考问答区域其他同学的思路 ,重新实战一下 , 例如
https://class.imooc.com/course/qadetail/79836
另外 , 建议同学在完成作业时 , 能够上传作业. 也会有批复老师对作业中存在的问题进行指导 .
祝学习愉快 ,望采纳 .
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36713 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星