# 輸入某年某月某日並判斷這一天是這一年的第幾天

1.程式分析：以3月5日為例，應該先把前兩個月的加起來，然後再加上5天即本年的第幾天，特殊情況，閏年且輸入月份大於3時需考慮多加一天。

2.程式原始碼：

`#include "stdio.h"#include "conio.h"main(){  int day,month,year,sum,leap;  printf("\nplease input year,month,day\n");  scanf("%d,%d,%d",&year,&month,&day);  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("data error");break;  }  sum=sum+day; /*再加上某天的天數*/  if(year%400==0||(year%4==0&&year%100!=0)) /*判斷是不是閏年*/    leap=1;  else    leap=0;  if(leap==1&&month>2) /*如果是閏年且月份大於2,總天數應該加一天*/    sum++;  printf("It is the %dth day.",sum);  getch(); }`

3.Visual C++ 6.0下調試通過，如圖：

## E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

## Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

## Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth \$300-1200 USD