这题太难了,有没有人教我一下!
原题链接:30023.有多少天呢?2024-10-26 18:18:53
发布于:江苏
这题太难了,有没有人教我一下!
全部评论 2
AI解题:
要解决这个问题,我们需要基于年份和月份来确定一个月的天数。有几点要注意:
- 闰年的2月有29天,平年的2月有28天。
- 1、3、5、7、8、10和12月每月有31天。
- 4、6、9和11月每月有30天。
首先,我们定义一个函数来判断一个年份是否为闰年:
- 如果年份能被400整除,则为闰年。
- 如果年份能被100整除但不能被400整除,则不是闰年。
- 如果年份能被4整除但不能被100整除,则为闰年。
接下来,基于月份确定天数。具体实现如下:
#include <iostream> using namespace std; bool isLeapYear(int year) { // 如果年份能被400整除,则为闰年 if (year % 400 == 0) { return true; } // 如果年份能被100整除但不能被400整除,则不是闰年 if (year % 100 == 0) { return false; } // 如果年份能被4整除但不能被100整除,则为闰年 if (year % 4 == 0) { return true; } return false; } int main() { int year, month; cin >> year >> month; switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: cout << 31 << endl; break; case 4: case 6: case 9: case 11: cout << 30 << endl; break; case 2: if (isLeapYear(year)) { cout << 29 << endl; } else { cout << 28 << endl; } break; default: cout << "Invalid month" << endl; } return 0; }
这段代码首先读取年份和月份,然后根据月份和闰年判断输出天数。如果输入的月份无效,则输出提示信息。这样就可以根据输入的年份和月份准确地输出对应的天数。
2024-10-26 来自 浙江
0谢谢
2024-10-26 来自 江苏
0
#include<iostream> using namespace std; int main(){ int n,m; cin>>n>>m; if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){ cout<<31; } else{ if(m==2){ if(n%4==0&&n%100!=0||n%400==0){ cout<<29; } else{ cout<<28; } } else{ cout<<30; } } return 0; }
2024-10-26 来自 广东
0谢谢
2024-10-26 来自 江苏
0
有帮助,赞一个