【发布时间】:2021-09-14 07:07:08
【问题描述】:
我刚刚开始学习 C++。
我正在尝试编写代码,从给定的年份和月份中打印出该月的最后一个日期。必须考虑闰年。
我觉得我做错了什么。
如果我输入 2020,那么 2 输出应该是 29。
或者我输入 2018 那么 4 输出应该是 30。
请给我任何提示。
#include <iostream>
#include <cmath>
#include <fstream>
#include <cstdlib>
#include <iomanip>
using namespace std;
int main()
{
int loopNum;
ifstreeam infile("input2.txt");
infile >> loopNum;
for (int i = 0; i < loopNum; i++) {
int year;
infile >> year;
int month;
infile >> month;
if (year) = year % 4 == 0 or year % 400 == 0;
if month == 2
cout << "29" << endl;
else if (month) = 2
cout << "28" << endl;
else if (month) = 1, 3, 5, 7, 8, 10, 12
cout << "31" << endl;
else
cout << "30" << endl;
}
infile.close();
return 0;
}
【问题讨论】:
-
请给我任何提示。 - Use a debugger.
-
你为什么认为你做错了什么?你有什么输入,你得到什么输出,你期望什么输出?
-
@Evg 我的思维方式正确吗?
-
我不知道,你没有写任何关于你的思维方式的文章。您问题中的代码甚至无法编译。
-
欢迎您!是的,广告@Evg 说,调试器,调试器,调试器(当然是在它编译和链接之后)。知道如何使用调试器可以避免这个站点上的大部分问题。此外,还有more to leap years 而不是您的代码句柄。例如“如果一年能被 100 整除,但不能被 400 整除,那么它不是闰年。如果一年能被 100 和 400 整除,那么它就是闰年”--->
标签: c++