输入年月日,输出该日期是当年的第几天

这首题比较简单,只要判断该年是不是闰年,然后按月加,加到当月再加上的输入的天数即可。

假定输入的日期合法。

 1 //给定一个日期,求该日期是该年的多少天?

 2 #include <stdio.h>

 3 #include <stdlib.h>

 4 

 5 int main(int argc, char *argv[])

 6 {

 7     int y, m, d, n = 0, i, res;

 8     int months[13] = {0,31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

 9 

10     while (fflush(stdin), (res = scanf("%d%d%d", &y, &m, &d)) != EOF)

11     {

12         if (res != 3) 

13         {

14             printf("Error!\n");

15             continue;

16         }

17         n = 0;

18         if(( y % 4 == 0 && y % 100 != 0) || y % 400 == 0)

19             months[2] = 29;

20         else 

21             months[2] = 28;

22         for ( i = 1; i < m; i++)

23             n += months[i];

24         n += d;

25         printf("该日期是该年的%d天.\n", n);

26     }

27     system("pause");

28     return 0;

29 }

 

你可能感兴趣的:(日期)