输入一个日期计算是今年的第几天

 1 #include<stdio.h>
 2 typedef struct {
 3   unsigned int year, month, day;
 4 }date;
 5 unsigned int dayofyear(date d)
 6 {
 7   unsigned int leap = 0, total = 0;
 8   unsigned int sum[12] = {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334};
 9   unsigned int days[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
10   if(d.year%400==0||(d.year%4==0&&d.year%100!=0))
11     leap=1;
12   if(d.year > 0 && (d.month > 0 && d.month <= 12) && (d.day > 0 && d.day <= days[d.month-1] + leap)) {
13     total = sum[d.month - 1] + d.day;
14     if(d.month > 2)
15       total = total + leap;
16   }
17   return total;
18 }
19 int main(void)
20 {
21 date d;
22 printf(" please input year,month,day \n");
23 scanf("%d,%d,%d",&d.year,&d.month,&d.day);
24 printf("It is the %dth day.",dayofyear(d));
25 }

 

posted @ 2020-11-11 21:46  偊偊而步  阅读(185)  评论(0编辑  收藏  举报