PTA 7-2 6001 第几天?

文章目录

输入格式:

输出格式:

输入样例:

输出样例:

解题代码:

如何判断闰年:

基本思路:需要满足两个条件

一句话写法:

闰年有什么不同:

解题思路:


给定一个日期,输出这个日期是该年的第几天。

输入格式:

输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见输入样例,另外,可以向你确保所有的输入数据是合法的。

输出格式:

对于每组输入数据,输出一行,表示该日期是该年的第几天。

输入样例:

1985/1/20
2006/3/12

输出样例:

20
71

解题代码:

#include <stdio.h>
int main()
{
    int year,month,day,store[]={0,31,28,31,30,31,30,31,31,30,31,30,31},i;
    while(scanf("%d/%d/%d",&year,&month,&day)!=EOF)
    {
        store[2]=28;
        if((year%4==0&&year%100!=0)||year%400==0) store[2]=29;
        for(i=1;i<month;i++)
            day+=store[i];
        printf("%d\n",day);
    }
    return 0;
}

如何判断闰年:

基本思路:需要满足两个条件

(1)四年一闰百年不闰:如果year能够被4整除,但是不能被100整除,则year是闰年。
(2)每四百年再一闰:如果year能够被400整除,则year是闰年。

一句话写法:

 if((year%4==0&&year%100!=0)||year%400==0) //满足条件是闰年

闰年有什么不同:

闰年的2月有29天,其他年份的2月有28天

解题思路:

在本题目中,可以用一个数组存放每个月的天数,默认2月有28天,如果判断成功是闰年,则将存储的数组中2月的天数变成29天

需要注意的是:一次完整的输出结束后,需要将存储天数的数组恢复原状

猜你喜欢

转载自blog.csdn.net/weixin_63249578/article/details/128533300
今日推荐