程式設計珠璣第三章 習題4(日期問題)

2021-07-06 08:21:57 字數 812 閱讀 8775

問題1:給定兩個日期,計算兩者之間的天數。

解答:可以現將月和日換算成該年的第多少天,用後者減去前者,然後年份差距乘以365,同時考慮到兩個年份之間閏年的個數,如果閏年個數為n,則最後結果再加上n.

#include typedef structdate;

//日期在相應年份中的編號

int transform(date s)

; int sequence, addnum;

sequence = addnum = 0;

for(int i = 0; i < s.month; ++i)

sequence += months[i];

sequence += s.day;

//如果是閏年,且月份在2月份以後,則編號加1,因為2月實際多一天

if(leap)

addnum = s.month < 3 ? 0 : 1;

return sequence+addnum;

}//統計兩年間閏年個數

int numofleap(date s1, date s2)

return num;

}int distance(date s1, date s2)

//測試

int main()

問題2:給定乙個日期,返回值為週幾

解答:以乙個已知為周幾的日期為參照,計算兩者之間的天數,結果模7即可得到週幾。

//給定日期,返回週幾

int week(date s)

else

}

程式設計珠璣第三章習題1

問題 1.本書行將出版之時,美國的個人所得稅分為5種不同的費率,其中最大的費率大約為40 以前的情況更為複雜,稅率也更高。下面所示的程式文字採用25個if語句的合理方式來計算1978年的美國聯邦所得稅。稅率分別為0.14,0.15,0.16,0.17,0.18,此後的費率增幅大於0.01.有何建議?...

程式設計珠璣第三章

第三章寫的有點太簡單了,可能作者是想在後面章節裡再詳細說吧!這一章就是作者說的幾句話印象還是很深刻。程式設計師在節省空間方面無計可施時,將自己從 中解脫出來,退回起點並記者並集 中精力研究資料,常常能有奇效。資料的 表示形式是程式設計的根本。正如人月神話的作者說 只要給我你設計的表,我就對你的程式一...

程式設計珠璣之第三章習題3

問題描述 3.編寫乙個 banner 函式,該函式的輸入為大寫字母,輸出為乙個字元陣列,該陣列以圖形化的方式表示該字母。問題解析 1 如果編寫乙個通用的以26個字母為引數,輸出為該字母的圖形化表示,我目前還沒有有效的方法,不過這對單個的字母,就簡單的多,這也是目前想到的解決該問題的方法,就是在該函式...