老师,为什么我写的脚本代码算出1988年9月25日是这一年的第268天?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script>
var year=prompt("请输入您的出生年份"),month=prompt("请输入您的出生月份"),day=prompt("请输入您的出生日期"),month_day=[0,31,29,31,30,31,30,31,31,30,31,30],sum=0;
function DAY(year,month,day){
for(var i=1;i<=parseInt(month);i++){
sum+=parseInt(day)+month_day[i-1];//求一年中的第几天
}
if(year%4==0 && year%100!=0 || year%400==0)//判断是否是闰年,如果是则返回sun-1,否则返回sum
{
return sum-1;
}
else{
return sum;
}
}
function alertwindow(year,month,day){
sum = DAY(year,month,day)
document.write("您的生日在"+year+"年的第"+sum+"天");
}
alertwindow(year,month,day);//调用函数
</script>
</head>
<body>
</body>
</html>
正在回答
我帮你分析一下你的错误,首先每个月的天数从1月开始加,直到输入月份的前一个月即可。
而且在循环内,不要每次都将输入的天数加上,这会导致结果比预期值大。
最后闰年且大于2月份的时候,2月份29天,平年28天,所以-1要放在平年中
相似问题
登录后可查看更多问答,登录/注册
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36713 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星