*分支-13. 计算天数

复制代码
  1 /*
  2  * Main.c
  3  * B13-分支-13. 计算天数
  4  *  Created on: 2014年6月12日
  5  *      Author: Boomkeeper
  6  *
  7  ******测试又是木有完全通过啊*********
  8  */
  9 
 10 #include <stdio.h>
 11 #include <stdlib.h>
 12 
 13 #define JANUARY 31
 14 #define FEBRUARY 28
 15 #define MARCH 31
 16 #define APRIL 30
 17 #define MAY 31
 18 #define JUNE 30
 19 #define JULY 31
 20 #define AUGUST 31
 21 #define SEPTEMBER 30
 22 #define OCTOBER 31
 23 #define NOVEMBER 30
 24 
 25 int day_of_year;
 26 int year,month,day;
 27 
 28 void output_leap_year()
 29 {
 30     if(month==1)
 31         day_of_year=day;
 32     if(month==2)
 33         day_of_year=JANUARY+day;
 34     if(month==3)
 35         day_of_year=JANUARY+FEBRUARY+day+1;
 36     if(month==4)
 37         day_of_year=JANUARY+FEBRUARY+MARCH+day+1;
 38     if(month==5)
 39         day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+day+1;
 40     if(month==6)
 41         day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+day+1;
 42     if(month==7)
 43         day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+JUNE+day+1;
 44     if(month==8)
 45         day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+JUNE+JULY+day+1;
 46     if(month==9)
 47         day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+JUNE+JULY+AUGUST+day+1;
 48     if(month==10)
 49         day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+JUNE+JULY+AUGUST+SEPTEMBER+day+1;
 50     if(month==11)
 51         day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+JUNE+JULY+AUGUST+SEPTEMBER+OCTOBER+day+1;
 52     if(month==12)
 53         day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+JUNE+JULY+AUGUST+SEPTEMBER+OCTOBER+NOVEMBER+day+1;
 54 
 55     printf("%i\n",day_of_year);
 56 }
 57 
 58 void output_non_leap()
 59 {
 60     if(month==1)
 61         day_of_year=day;
 62     if(month==2)
 63         day_of_year=JANUARY+day;
 64     if(month==3)
 65         day_of_year=JANUARY+FEBRUARY+day;
 66     if(month==4)
 67         day_of_year=JANUARY+FEBRUARY+MARCH+day;
 68     if(month==5)
 69         day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+day;
 70     if(month==6)
 71         day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+day;
 72     if(month==7)
 73         day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+JUNE+day;
 74     if(month==8)
 75         day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+JUNE+JULY+day;
 76     if(month==9)
 77         day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+JUNE+JULY+AUGUST+day;
 78     if(month==10)
 79         day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+JUNE+JULY+AUGUST+SEPTEMBER+day;
 80     if(month==11)
 81         day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+JUNE+JULY+AUGUST+SEPTEMBER+OCTOBER+day;
 82     if(month==12)
 83         day_of_year=JANUARY+FEBRUARY+MARCH+APRIL+MAY+JUNE+JULY+AUGUST+SEPTEMBER+OCTOBER+NOVEMBER+day;
 84 
 85     printf("%i\n",day_of_year);
 86 }
 87 int main()
 88 {
 89     char m,n;
 90 
 91     scanf("%4i %c %2i  %c %2i",&year,&m,&month,&n,&day);
 92     printf("input successful\n%i %i %i\n",year,month,day);
 93 
 94     if(month<=0 || day<=0)
 95         exit(0);
 96     if(month>12 || day>31)
 97         exit(0);
 98 
 99     if((year%4==0) && (year%400!=0))
100     {
101         //闰年
102         output_leap_year();
103     }
104     else
105     {
106         if(year%400==0)
107         {
108             //还是闰年
109             output_leap_year();
110         }
111         else
112         {
113             //不是闰年
114             output_non_leap();
115         }
116     }
117 
118     return 0;
119 }
复制代码

posted @   Boomkeeper  Views(371)  Comments(0Edit  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· 开发者新选择:用DeepSeek实现Cursor级智能编程的免费方案
· 【译】.NET 升级助手现在支持升级到集中式包管理
· 独立开发经验谈:如何通过 Docker 让潜在客户快速体验你的系统
· Tinyfox 发生重大改版
最好的流量统计 网站流量计数器
点击右上角即可分享
微信分享提示