UIT2024_Calendar/stu2024/软件2401丁翔宇.cpp
2024-12-07 16:23:34 +08:00

97 lines
1.5 KiB
C++

#include<stdio.h>
#include<stdlib.h>
int year,month,day;
int run[12]={31,29,31,30,31,30,31,31,30,31,30,31};
int ping[12]={31,28,31,30,31,30,31,31,30,31,30,31};
char weekday[7][10]={"星期一","星期二","星期三","星期四","星期五","星期六","星期日"};
char yuefen[12][20]={"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
int leap(int year)
{
if(year%4==0&&year%100!=0||year%400==0)
{
return 1;
}
else
{
return 0;
}
}
int nian(int year,int month,int day,int run[],int ping[])
{
int i,sum=0;
for(i=1900;i<year;i++)
{
if(leap(i)==1)
{
sum+=366;
}
else
{
sum+=365;
}
}
for(i=0;i<month-1;i++)
{
if(leap(year)==1)
{
sum+=run[i];
}
else
{
sum+=ping[i];
}
}
return sum;
}
void dy(int sum,int year,int month)
{
int result,temp,i;
result=sum%7;
for(i=0;i<result;i++)
{
printf("\t");
}
temp=7-result;
if(leap(year)==1)
{
for(i=1;i<=run[month-1];i++)
{
printf("%d\t",i);
if(i==temp||(i-temp)%7==0)
{
printf("\n");
}
}
printf("\n");
}
else
{
for(i=1;i<=ping[month-1];i++)
{
printf("%d\t",i);
if(i==temp||(i-temp)%7==0)
{
printf("\n");
}
}
printf("\n");
}
}
int main()
{
printf("请输入年月:");
scanf("%d%d",&year,&month);
for(int i=0;i<12;i++)
{
printf("%s\n",yuefen[i]);
for(int j=0;j<=7;j++)
{
printf("%s\t",weekday[j]);
}
printf("\n");
int sum=nian(year,month,day,run,ping);
dy(sum,year,month);
}
return 0;
}