打印日历问题
問題分析:如何輸出指定年份的日歷?輸出日歷首先需要解決兩個關鍵問題:*計算1月1日是星期幾。*判斷該年份是否是閏年,從而確定2月份的天數。另外,輸出日歷需要控制好格式,下面的程序控制每個日期占3個字符,輸出日歷的標題,標題中顯示星期序號。程序代碼:
#include<stdio.h>
int main()
{int a[12]={31,28,31,30,31,30,31,31,30,31,30,31},b[12];int i,year,month;printf("輸入年份:");scanf("%d",&year);if(year%400==0||(year%100!=0&&year%4==0)) //根據年份修正二月份天數?a[1]=29;b[0]=(int)(year-1+(year-1)/4.0-(year-1)/100.0+(year-1)/400.0+1)%7;?? ?//計算1月1日是星期幾?for(i=1;i<12;i++)b[i]=(a[i-1]+b[i-1])%7;?? ?//計算其他月份的1號是星期幾?for(month=0;month<12;month++){printf("\n%12d月\n",month+1);printf("\n 日 一 二 三 四 五 六\n");for(i=0;i<b[month]*3;i++)printf(" ");?? ?//輸出1號前面的空格?for(i=1;i<=a[month];i++){printf("%3d",i);if((i+b[month])%7==0)?? ?//周六換行?printf("\n");}printf("\n");}return 0;?? ??? ?
}?
運行結果:
?
?
?
總結
- 上一篇: gitlab之权限设置
- 下一篇: 淘宝信用度级别