欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一年中的天数

程序员文章站 2022-05-21 08:43:36
...

题目描述

输入任意日期,输出它是年内第几天。

输入描述

任意日期

输出描述

年内天数,占5位(右对齐)

样例输入

2018/3/5
样例输出

64

思路:
年份: 判断是否是瑞年

  1. n%400==0
  2. n%4==0 &&n%100!=0

月份:
31天:1 3 5 7 8 10 12
30天:4 6 9 11
29天或者 28天:2

#include<stdio.h> 
int main()
{
 int year,month,day,leap,sum;
 scanf("%d/%d/%d",&year,&month,&day);
 if(year%400==0 || (year%4==0 && year%100!=0))
  leap=1;
 else
  leap=0;
 switch(month)
 {
  case 1:sum=0;break;
  case 2:sum=31;break;
  case 3:sum=59;break;
  case 4:sum=90;break;
  case 5:sum=120;break;
  case 6:sum=151;break;
  case 7:sum=181;break;
  case 8:sum=212;break;
  case 9:sum=243;break;
  case 10:sum=273;break;
  case 11:sum=304;break;
  case 12:sum=334;break;
  default :printf("month error!\n");break;
 }
 sum+=day;
 if(month>2) sum+=leap;
 printf("%5d\n",sum);
 return 0;
}