计算输入的是当年的第几天

 /*
    题目:输入某年某月某日,判断这一天是这一年的第几天?
    1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊
      情况,闰年且输入月份大于3时需考虑多加一天。
*/

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 int main()
 5 {
 6     int year,month,day,sum;
 7 
 8     //输入年,月,日
 9     printf("please input day in'year,month,day':");
10     scanf("%d,%d,%d",&year,&month,&day);
11     printf("\n%d,%d,%d\n",year,month,day);
12 
13     //mine must have errors in below
14     /*if(month<3)
15     {
16         printf("It is the %dth day",day+50);
17     }
18     else
19     {
20 
21     }*/
22 
23     //计算基本的天数,关于润年的情况,在最后算。
24     switch(month)
25     {
26     case 1:
27         sum=0;
28         break;
29 
30     case 2:
31         sum=31;
32         break;
33 
34     case 3:
35         sum=59;
36         break;
37 
38     case 4:
39         sum=90;
40         break;
41 
42     case 5:
43         sum=120;
44         break;
45 
46     case 6:
47         sum=151;
48         break;
49 
50     case 7:
51         sum=181;
52         break;
53 
54     case 8:
55         sum=212;
56         break;
57 
58     case 9:
59         sum=243;
60         break;
61 
62     case 10:
63         sum=273;
64         break;
65 
66     case 11:
67         sum=304;
68         break;
69 
70     case 12:
71         sum=335;
72         break;
73 
74     default:
75         printf("month is error!");
76         exit(0);
77     }
78 
79     //如果是润年,并且月数大于2那么要加回一天。
80     if((year%400==0) || (year%4==0&&year%100==0))
81     if(month>2)
82     {
83         sum+=1;
84     }
85 
86     printf("it is the %dth  day of the %dyear!\n",sum+day,year);
87 
88     return 0;
89 }

 

转载于:https://www.cnblogs.com/zhengmian/archive/2012/05/10/which_day_of_that_year.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值