(C语言实现)打印指定年份的阳历和农历。

# include & ltstdlib.h & gt

# 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;

}