1. 程式人生 > >走上部落格不歸路。

走上部落格不歸路。

如果不是IT學習,我想我一輩子不會碰這玩意兒- -

今兒的作業難倒是不難就是有點兒複雜,還有點兒複雜,還有點兒複雜,而且還有點兒複雜!

----------------------------------------------------------------------傳說中的昏哥線--------------------------------------------------------------------------------

請分別輸入年月日三個數值,計算出這是這一年的第幾天?
(提示:要考慮閏年和2月的情況)                                                  /*題目一句話,答案一丟丟~*/

為了拙計的智商先列個一三五七八十臘微笑

31 28 31 30 31 30 31 31 30 31 30 31    平年 
31 29 31 30 31 30 31 31 30 31 30 31    閏年

#include<stdio.h>
void main()


{
int year,month,day;
int Jan=31,Feb=59,Mar=90,Apr=120,May=151,Jun=181,Jul=212,Aug=243,Sep=273,Oct=304,Nov=334;       /*平年每個月份截止當月的總天數*/
printf("請輸入年份(阿拉伯數字):");
scanf("%d",&year);
printf("請輸入月份(阿拉伯數字):");
scanf("%d",&month);
printf("請輸入日期(阿拉伯數字):");                                                                                                                            /*分三次輸入,完美的使用者體驗~*/
scanf("%d",&day);
int num;

switch(month)
{
case 1:
num=day;
break;
case 2:
num=Jan+day;
break;
case 3:
num=Feb+day;
break;
case 4:
num=Mar+day;
break;
case 5:
num=Apr+day;
break;
case 6:
num=May+day;
break;
case 7:
num=Jun+day;
break;
case 8:
num=Jul+day;
break;
case 9:
num=Aug+day;
break;
case 10:
num=Sep+day;
break;
case 11:
num=Oct+day;
break;
case 12:
num=Nov+day;
break;
}
if(year%4==0&&year%100!=0)
{
if(month>2)
{
num=num+1;
}
}
if(year%400==0)
{
if(month>2)
{
num=num+1;                                                   /*判斷閏年情況,就在月份為2月以後的情況下總天數+1*/
}
}

printf("這是這一年的第%d天\n",num);


}

總體思路應該沒問題,但是加減要仔細,而且截止月份要弄清楚,一開始經常賦值錯誤,還是要多多練習,熟能生巧吧~!

與F11諸君共勉,夥伴們加了個油~!