c語言程式設計,switch語句,2023年第一天是周二,輸入月份日期輸出星期幾

時間 2021-09-10 01:44:29

1樓:匿名使用者

#include

#include

int main()

switch(tianshu%7)

getch();

}以上程式可以輸出輸入正確的月 日期後輸出星期,沒有對異常輸入做判斷,例如,如果輸入13月1日,也就是13 1,那麼也會有響應的輸出,不用懷疑,肯定是錯誤的。所以上程式只支援正常的2013的日月輸入。如果要對異常輸入做判斷,可以另外再加程式

2樓:

這一題用 switch 語句並不合適,用每月日期天數陣列和 % 運算子更合適。

3樓:千里目

w =〔 [c/4] - 2c + y + [y/4] + [13 * (m+1) / 5] + d - 1 〕% 7

(或者是:w= 〔y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 〕% 7)

若要計算的日期是在2023年10月4日或之前,公式則為

w=y+[y/4]+[c/4]-2c+[13(m+1)/5]+d+2

以2023年9月3日為例:

2023年9月3日後:w = (d + 2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;

2023年9月3日前:w = (d+2*m+3*(m+1)/5+y+y/4+5) % 7;

注意:當年的1,2月要當成上一年的13,14月進行計算

w:星期; w對7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六

c:世紀減1(年份前兩位數)

y:年(後兩位數)

m:月(m大於等於3,小於等於14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月來計算,比如2023年1月1日要看作2023年的13月1日來計算)d:日

C語言關於switch語句的問題

switch語句的規則是首先找到乙個匹配項,在此匹配項之下開始執行,直到遇到乙個break則返回,比如對於i 1,首先找到case 1 然後沒有看到break,繼續執行case 2 的語句,a 3,然後還是發現沒break,又執行default,使得a 8了,其他的i值以此類推會得到31這個結果 他...

C語言中switch語句什麼意思

小u自 switch在c語言中是保留字,其作用是進行判斷選擇。switch 開關語句 常和case break default一起使用。switch用在程式設計中,如c語言中它經常跟case一起使用,是乙個判斷選擇 其功能就是控制流程流轉的。直線翻譯 switch語句,即 切換 語句 case即 情...

C語言if判斷的格式,C語言程式設計中if語句的格式是什麼?

if a b a c a d a e a f a g b c b d b e b f b g c d c e c f c g d e d f d g e f e g f g 上面比較笨的寫法了,執行效率還可以 include stdio.h int a 1,b 2,c 3,d 4,e 5,f 6,g...