C语言入门问题求助:母亲节是每年的五月第二个星期天,针对输入的年份,计算该年的哪一天是母亲节。

[复制链接]
查看11 | 回复6 | 2021-1-27 05:27:05 | 显示全部楼层 |阅读模式
#include
intmain()
{
intyear,day,leapyear=0,i,whichday;
scanf("%d",&year);
for(i=1900;i -->
回复

使用道具 举报

千问 | 2021-1-27 05:27:05 | 显示全部楼层
我个人理解应该是输出第几天,比如具体的100多天,而不是输出星期几?这样的话就不用管星期几了,直接算闰年计算出5月之前的天数再加上14就了
回复

使用道具 举报

千问 | 2021-1-27 05:27:05 | 显示全部楼层
对7取余不可能位7,有可能为0~6之间的一个值;
一般会固定一个日期的星期,这样有一个参考。某年某月某日是星期几是一个相对时间,那么就要有一个参照;比如1900年1月1日是星期一
回复

使用道具 举报

千问 | 2021-1-27 05:27:05 | 显示全部楼层
所以是代码里有错吗但是运行上又没什么错
回复

使用道具 举报

千问 | 2021-1-27 05:27:05 | 显示全部楼层
引用3楼w770264484的回复:所以是代码里有错吗但是运行上又没什么错
没错,只是d==7的判断不会成立,所以会一直执行else的部分

回复

使用道具 举报

千问 | 2021-1-27 05:27:05 | 显示全部楼层
嘤嘤嘤有木有人可以解释一下为啥是-1899不是1900!

回复

使用道具 举报

千问 | 2021-1-27 05:27:05 | 显示全部楼层
你也可以-1900,只是把后面的要把后面的-(31+30+31+31+30+31+30+31)改成+(31+30+31+30)(也就是2020年1月1日到4月30日的天数)而已,可能说到这你就明白了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行