1樓:匿名使用者
給你一個思路吧
首先判斷年份是否被4整除。如果是,1年用366天,2月用29天;如果不是1年用365天,2月用28天。
編譯一個函式,傳遞進來的引數是月份,當月天數和當月第一天的星期數,傳遞出去的是當月最後一天的星期數,並且在函式體中直接列印當月的月份,所有天數和對應的星期數。你每個月呼叫這個函式即可(有輸出了)類似i=daypri(1,31,1)。
這個程式不難,希望你能自己做,自己的,才是學到手的知識!
2樓:匿名使用者
# include
# include
void printmonth(int m);
void printhead(int m);
int daysofmonth(int m);
int firstday(int y);
int year,weekday;
void main()
printf("\n\n");
}void printmonth(int m) //列印每月日曆}void printhead(int m) //列印每月的日曆頭(判定起始位置)
int daysofmonth(int m) //每月的天數}int firstday(int y) //判斷某年元旦是星期幾
3樓:淦海瑤
這個網上很多
再就是2023年第一天應該不是星期一
從公元一年一月一日是星期一開始,400年一迴圈,2023年一月一日是星期一
4樓:匿名使用者
不懂你把完整的攏上來嘛
5樓:戲雨南
#include
main()
;int maxday=;
int leapyear;
int year,monthleft,dayleft,weekleft;
int monthright,dayright,weekright;
int i,j;
printf("請輸入年份(四位整數,例如2008),輸入後回車:");
scanf("%d",&year);
monthleft=1;dayleft=1;
monthright=2;dayright=2;
weekleft=(((year-1)/100)/4-2*((year-1)/100)+(year-1)%100+((year-1)%100)/4+26*14/10)%7;
weekright=(((year-1)/100)/4-2*((year-1)/100)+(year-1)%100+((year-1)%100)/4+26*15/10+1)%7;
printf(" %d 年 \n",year);
if(year%4==0&&(year%100!=0||year%400==0))leapyear=1;
else leapyear=0;
if(leapyear)maxday[1]++;
while(monthright<=12)
while(weekright>0)
printf("\n %d月 %d月\n ",monthleft,monthright);
for(i=0;i<7;i++)
printf(" ");
for(i=0;i<7;i++)
printf("\n");
for(j=0;j<6;j++)
if(dayleft>maxday[monthleft-1])
printf("%4d",dayleft);
dayleft++;
}printf(" ");
for(i=0;i<7;i++)
if(dayright>maxday[monthright-1])
printf("%4d",dayright);
dayright++;
}printf("\n");
}monthleft+=2;
dayleft=1;
monthright+=2;
dayright=1;
weekleft=((year/100)/4-2*(year/100)+year%100+(year%100)/4+26*(monthleft+1)/10+dayleft-1+700)%7;
weekright=((year/100)/4-2*(year/100)+year%100+(year%100)/4+26*(monthright+1)/10+dayright-1+700)%7;
}system("pause");}
6樓:愛死bai度
呼叫c函式,可以看看《c和指標》這本書,裡面有好多好東西,我看過一遍,
具體函式怎麼拼忘了,好久沒動c了。
7樓:匿名使用者
最後的那個system(「pause」)不知道有什麼用,這個程式中的printf(「 」)中的空格數要試好幾次才能完美,另外請教一下,那個寫程式的大哥,那個weekleft算的是不是星期數啊,不太懂,求解。
C語言程式設計,C語言程式設計
很多程式都是非常簡單的 1.輸入2個正整數m和n,求其最大公約數和最小公倍數 include include int main 3.程式設計計算從1到10各數階乘的和,即1 2 3 9 10 的和 include int main void printf 1到10各數階乘的和 d n sum ret...
C語言程式設計,c語言的程式設計
給十分寫那麼多。給你說第一個吧。輸入十個數,用一個for語句就好了。int a 10 for int i 0 i 10 i 最大數。int max a 0 int m for int j 0 j 10 j a i a 9 a 9 max 小數的變下符號就是了。c語言程式設計 摘要。親親具體什麼問題呀...
C語言程式設計,c語言程式設計序
你的函式呢 第三個問題沒列全 自己修改下我再看。第一題 include void main printf 輸入4 5矩陣 for i 0 i 4 i for i 0 i 5 i printf 第二題 include void main printf 排列後 for i 0 i 10 i printf...