永发信息网

关于c++的语法

答案:3  悬赏:10  手机版
解决时间 2021-11-24 07:18
  • 提问者网友:玫瑰园
  • 2021-11-23 11:51
关于c++的语法
最佳答案
  • 五星知识达人网友:刀戟声无边
  • 2021-11-23 13:30
逻辑就有大问题。
    常识:闰年指能被4整除但不能整100整除的年或者能被400整除的年,比如2000、2400是闰年,2100、2200、2300是平年。
    最开始输的年月日,如果月、日超出范围没有做错误处理。
    你对月m都知道整除求余,为什么对日d+pp之后,这个值不做类似处理?当然这种处理可以说是逻辑严重不好理解且复杂的,因为年月日在分别加的时候可能平闰年在变化。所以应该采用的方法 是:将年月日选转成一个整数,大概如年*天数+月*天数+天,然后加上一个经过的天数,再将这个整数转换回年月日。
全部回答
  • 1楼网友:行路难
  • 2021-11-23 13:58
你的错误在于, m超过12的处理应该放在while循环里,而你放在了外面,
导致在m=13的时候, m不能及时的变成1,
你的一大串if判断,本意是要d减小到30一下才终止, 但是这里m=13导致所有的if判断中的月份(1~12)都并不满足. 导致break提前终止.

提到前面的大括号内(while的最后)
if (m > 12)
{
y = int(m / 12) + y;
m = m%12;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯