(C语言实现)打印指定年份的阳历和农历。
# include & ltstdio.h & gt
# include & ltconio.h & gt
int IsLeapYear(int);
主()
{
int I;
int日;
int年;
内部温度;
int temp _ I;
long int Year _ days = 0;
int Year _ Start = 1;
每_年_天的利息;
int month_day[]={31,28,31,30,31,30,31,30,31,30,31,29 };
Printf("输入年份:");/*从键盘输入年份*/
scanf("%d ",& amp年份);
while(Year _ Start & lt;年份)
{
if(is leapy Year(Year _ Start))/*确定输入的年份是否是闰年*/
Per _ Year _ Days = 366
其他
每_年_天= 365;
年_日=年_日+每_年_日;
year _ start++;
}/*此while循环计算从1到输入年份的天数* * * *
for(temp = 1;temp & lt=12;temp++)
{/*这个for循环输出一年中每个月的日历*/
开关(温度)
{
案例1:
printf("一月(%d)\n ",年份);
打破;
案例二:
printf("二月(%d)\n ",年份);
打破;
案例三:
printf("三月(%d)\n ",年份);
打破;
案例4:
printf(" April(%d)\n ",year);
打破;
案例5:
printf(" May(%d)\n ",year);
打破;
案例6:
printf(" June(%d)\n ",年份);
打破;
案例7:
printf(" July(%d)\n ",year);
打破;
案例8:
printf(" August(%d)\n ",年份);
打破;
案例9:
printf("九月(%d)\n ",年份);
打破;
案例10:
printf("十月(%d)\n ",年份);
打破;
案例11:
printf("十一月(%d)\n ",年份);
打破;
案例12:
printf("十二月(%d)\n ",年份);
打破;
}
I = Year _ days % 7;
printf("周一周二周三周四Fri周六日\ n ");
如果(我!= 0 )
for(temp _ I = 0;temp _ i & lt我;temp_i++)
printf(" ");
日= 1;
if( IsLeapYear(year)和amp& ampTemp == 2) /*如果是闰年二月*/
while(day & lt;=月_日[12])
{
if(day & gt;1 )
if( Year_days % 7 == 0)
printf(" \ n ");
if(day & gt;= 10 )
printf("%-4d ",天);
其他
printf("%-4d ",天);
year _ days++;
day++;
}
Else /*不是闰年*/
while(day & lt;=月_日[温度-1])
{
if(day & gt;1 )
if( Year_days % 7 == 0)
printf(" \ n ");
if(day & gt;=10 )
printf("%-4d ",天);
其他
printf("%-4d ",天);
year _ days++;
day++;
}
printf(" \ n ");
If( getch() == 'q') /*输入q的结尾*/
退出(0);
}
getch();
}
Int IsLeapYear( int year) /*判断是否是闰年*/
{
if((year % 4 = = 0)& amp;& amp(年份% 100!= 0) ||
(年份% 400 == 0))
返回1;
其他
返回0;
}