純C/C++ 簡易萬年曆 [CB_Calendar]
純C/C++ 簡易萬年曆 [CB_Calendar]
GITHUB: https://github.com/jash-git/CB_Calendar
CODE
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,m,n,q;
int year, month, first_space, feb_days;
printf("請輸入西元");
scanf("%d",&year);
printf("請輸入月份");
scanf("%d",&month);
if(month<=12 && month>=1)
{
for(first_space=1,q=0;q<(year-1900);q++)
{
if(q%4==0 && q%100!=0 || q%400==100)
{
first_space=(first_space+366)%7;
}
else
{
first_space=(first_space+365)%7;
}
}
//計算2月天數
if(year%4==0 && year%100!=0 || year%400==0)
{
feb_days =29;
}
else
{
feb_days =28;
}
int space[13]={0,first_space,0,0,0,0,0,0,0,0,0,0,0};
int days[13]={0,31,feb_days,31,30,31,30,31,31,30,31,30,31};
for(i=1;i<month;i++)
{
space[i+1]=(space[i]+days[i])%7;
}
printf(" %d年%d月\n\n",year,month);
printf(" 日 一 二 三 四 五 六 \n ");
for(m=1;m<=space[i];m++)
{
printf(" ");
}
for(n=1;n<=days[i];n++)
{
printf(" %3d",n);
if(n%7==(7-space[i])%7)
{
printf("\n ");
}
}
printf("\n");
}
system("pause");
return 0;
}