Problem D 輸出月曆(II)

2021-10-22 14:04:22 字數 2063 閱讀 4279

description

輸出公元1900~2023年之間任意一月的月曆。

input

輸入若干行,至eof結束,每行兩個整數,分別表示年和月。

output

對應輸入順序輸出月曆,兩個月曆之間有乙個空行。

每個月曆的第一行為表頭"sun mon tue wen thu fri sat",表示星期日~星期六。第二行開始的每行為乙個星期,把每月的1日~結尾一日對應阿拉伯數字填入其中。每列佔3個字元,其中的數字右對齊,每兩列之間乙個空格分隔,每行最後乙個數字後面不要有空格。最後一日後面不要有空格。

sample input

2019

112019

122020

12020

2sample output

sun mon tue wen thu fri sat

1234567

891011

1213

1415

1617

1819

2021

2223

2425

2627

2829

30sun mon tue wen thu fri sat

1234

5678

9101112

1314

1516

1718

1920

2122

2324

2526

2728

2930

31sun mon tue wen thu fri sat

1234567

891011

1213

1415

1617

1819

2021

2223

2425

2627

2829

3031

sun mon tue wen thu fri sat

1234567

891011

1213

1415

1617

1819

2021

2223

2425

2627

2829

#include

#include

//蔡勒公式

intfirstweekofthemonth

(int year,

int month)

else

w = c /4-

2* c + y + y /4+

(13*(m +1)

)/5+ d -1+

70;week = w %7;

if(week ==0)

week =7;

return week;

}//判斷閏年

intisitaleapyear

(int i)

intmain()

;//13if(

isitaleapyear

(year)

) days[2]

++;int week;

int i, tp =0;

week =

firstweekofthemonth

(year, month)%7

;// printf("%d\n",week);

printf

("sun mon tue wen thu fri sat\n");

//輸出標題

for(i =

1; i <= week; i++

)//輸出空格

for(i =

1; i <= days[month]

; i++

)//輸出月份}if

(tp ==0)

//對最後換行格式的處理

printf

("\n");

else

printf

("\n\n");

}//程式正常結束標記

return0;

}

2020 12 31 輸出月曆

includeint main 首先是輸出頭行,這個不用多說。第二個是將輸入的數作為週幾,加入輸出計數器中,使得每輸出到週六時就可以換行。第三,設定乙個單獨的變數,輸出這是幾號。第四,為了使輸出對齊,用取餘的方法判斷這是一行中第幾個數,如果不是第乙個數就多輸出乙個空格,第七個輸出之後輸出換行符。基本...

嵙大OJ Problem 1100 輸出月曆

time limit 1 sec memory limit 2 mb submit 9205 solved 3759 submit status web board 已知每月1號是星期幾,輸出當月月曆。每個月都按30天算。輸入為乙個整數n,1 n 7。n為1表示本月1日是星期一,n為2表示1號為星期...

山東科技大學OJ輸出月曆問題

description 已知每月1號是星期幾,輸出當月月曆。每個月都按30天算。input 輸入為乙個整數n,1 n 7。n為1表示本月1日是星期一,n為2表示1號為星期二,以此類推,n為7時表示1日為星期天。output 輸出月曆。月曆的第一行為表頭 sun mon tue wen thu fri...