[程序設(shè)計(jì)]求救~急`C語(yǔ)言程序設(shè)(萬(wàn)年歷的查詢及打印)本人不會(huì),幫忙啊
實(shí)驗(yàn)名稱:萬(wàn)年歷的查詢及打印
【內(nèi)容】:設(shè)計(jì)一個(gè)查詢并打印萬(wàn)年歷的程序。
【步驟】:
1. 畫(huà)出程序流程圖;
2. 編寫(xiě)程序;
3. 調(diào)試程序,對(duì)調(diào)試過(guò)程中出現(xiàn)的問(wèn)題進(jìn)行分析,找出錯(cuò)誤的原因并予改正;
4. 寫(xiě)出通過(guò)調(diào)試并修改正確的原程序。
【要求】:
1. 程序運(yùn)行后,首先在屏幕上顯示主菜單:
1. 查詢某年某月某日是星期幾
2. 查詢某年是否是閏年
3. 打印某年的全年日歷
4. 退出
2. 在主菜單中輸入1后,顯示:
“請(qǐng)輸入年月日(XXXX,XX,XX)”
運(yùn)行后輸出:XXXX年XX月XX日是星期X,是否繼續(xù)查詢(Y/N)?
如果輸入Y,則重新顯示 “請(qǐng)輸入年月日(XXXX,XX,XX)”,否則回到主菜單。
3. 在主菜單中輸入2后,顯示:
“請(qǐng)輸入要查哪一年?(XXXX)”
運(yùn)行后輸出:XXXX年是(否)是閏年,是否繼續(xù)查詢(Y/N)?
如果輸入Y,則重新顯示,“請(qǐng)輸入要查哪一年?(XXXX)”,否則回到主菜單。
4. 在主菜單中輸入3后,顯示:
“請(qǐng)輸入要打印的年份(XXXX)”
運(yùn)行后輸出XXXX年的日歷,格式為:
XXXX
X(月數(shù))
0 1 2 3 4 5 6
S M T W T F S
x x x x x x x
x x x xx xx xx xx
xx xx xx xx xx xx xx
xx xx xx xx xx xx xx
xx xx xx
X(月數(shù))
0 1 2 3 4 5 6
S M T W T F S
x x x x
x x x xx xx xx xx
xx xx xx xx xx xx xx
xx xx xx xx xx xx xx
xx xx xx xx xx
運(yùn)行完后顯示:“是否繼續(xù)打?。╕/N)?”
如果輸入Y,則重新顯示,“請(qǐng)輸入要打印的年份(XXXX)”,否則回到主菜單。
5. 在主菜單中輸入4后,顯示:“是否要真的退出(Y/N)?”
如果輸入Y,結(jié)束程序運(yùn)行,否則重新顯示主菜單。
【提示】:
1. 閏年計(jì)算:滿足下列二者之一,是閏年:
能被4整除,但不能被100整除;
能被4整除,且能被400整除。
2.閏年的二月是29天,平年的二月是28天
3.星期幾的計(jì)算:
S=X-1+(X-1)/4+(X-1)/100+(X-1)/400+C
X是年份,C是該年從元旦開(kāi)始到到這一日的天數(shù)。
S/7的余數(shù)既是星期數(shù)
例1:1982年12月26日
由于1982年不是閏年(不能被4整除),所以該年的二月是28天。
C=31+28+31+30+31+30+31+31+30+31+30+26=360
(1月到11月的天數(shù)+12月的實(shí)際天數(shù))
S=1982-1+(1982-1)/4+(1982-1)/100+(1982-1)/400+360=2821.3925
S/7=2821/7=403 余數(shù)為0,所以該日是星期天。
例2:2000年3月8日
由于2000年是閏年(能被4整除,又能被100和400整除),所以該年的二月是29天。
C=31+29+8=68 (1月到2月的天數(shù)+3月的實(shí)際天數(shù))
S=2000-1+(2000-1)/4+(2000-1)/100+(2000-1)/400+68=2551.757
S/7=2551/7=364 余數(shù)為3,所以該日是星期三。