题目

  1. 编写程序,输入年、月、日,输出该日期是当年的第几天。

思路

首先将输入月份前面的所有月份的天数相加,然后再加上输入的日期,就可以求出输入的日期是今年的第几天。如果是闰年,那么要对2月加一天。

代码

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int year,mon,day,total,i;
    int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
    while(scanf("%d %d %d",&year,&mon,&day)!=EOF)
    {
        total=0;
        for(i=0;i<mon-1;i++)
        {
            total+=a[i];
        }
        total+=day;
        if(mon>2)
        {
            total=total+(year%4==0 && year%100==0 || year%400==0);
        }
        printf("%4d-%02d-%02d is %dth days\n",year,mon,day,total);
    }
    system("pause");
}

执行结果
图片说明