当我们看见一个题目是要想到有什么要考虑的问题
1.年份对月份是否有影响。
当年份为闰年的时候,2月有29天,其他月份没有影响。
当不是闰年的时候,2月有28天。
2.月份是否的天数是否有影响
1月有31天,2月有28(29)天,3月有31天,4月有30天,5月有31天,6月有30天,7月有31天,8月有31天,9月有30天,10月有31天,11月有30天,12月有31天
3.如何判断闰年
能被400和4整除,不能被100整除
4.开始编程
//方法1(比较简单)
第一步,输入坐标。第二步,给条件(注意:可以用函数,代码比较简单)
//方法一
int main()
{
long long a = 0;
int b = 0;
while (1)
{
scanf_s("%d%d", &a, &b);
if (a % 400 == 0 || a % 4 == 0 && a % 100 != 0)
{
if (b == 2)
{
printf("29\n");
}
else if (b == 1 || b == 3 || b == 5 || b == 7 || b == 8 || b == 10 ||b == 12)
{
printf("31\n");
}
else
{
printf("30\n");
}
}
else
{
if (b == 2)
{
printf("28\n");
}
else if (b == 1 || b == 3 || b == 5 || b == 7 || b == 8 || b == 10 || b == 12)
{
printf("31\n");
}
else
{
printf("30\n");
}
}
}
return 0;
}
//方法2(相对较难)
可以用字符串,但是字符串第一位是0,所以在字符串中加一个0,方便输入。
//方法二
int main()
{
int a = 0;
int b = 0;
while (scanf_s("%d%d",&a,&b)==2)
{
int day[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
// 1, 2 ,3, 4,
int d = day[b];
if (a % 400 == 0 || a % 4 == 0 && a % 100 != 0&&b==2)
{
d++;
}
printf("%d", d);
}
return 0;
}