問題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個字母為引數,輸出為該字母的圖形化表示,我目前還沒有有效的方法,不過這對單個的字母,就簡單的多,這也是目前想到的解決該問題的方法,就是在該函式...