c语言判断某年某月多少天,输出某一年所有月份的日历
由用户输入一个年份,计算机将根据用户输入的年份输出这一年所有月份的日历。关键是要确定该年是否是闰年,以及求某个月第一天是星期几。
运行效果:
代码:
#include <stdio.h>
#include <stdlib.h>
int monthDay(int,int);//获取某个月的天数
int isLeapYear(int);//判断某一年是否是闰年
int main()
{
int days,weekDay,year,month=1,d,i;
printf("请输入年:\n");
scanf("%d",&year);
//计算某一年某个月第一天星期几
days=year-1 (year-1)/400 (year-1)/4-(year-1)/100;
while(month<=12)
{
printf("%d-%d\n",year,month);
printf("Sun\tMon\tTues\tWed\tThur\tFir\tSat\n");
d=1,i=1;
weekDay=(days 1)%7;//求星期几
while(i<=weekDay)
{
printf("\t");
i ;
}
while(d<=monthDay(month,year))
{
weekDay=(days 1)%7;
if(weekDay==6)
printf("%d\n",d);
else
printf("%d\t",d);
if(d==monthDay(month,year))
printf("\n");
d ;
days ;
}
month ;
printf("\n");
}
system("pause");
return 0;
}
int monthDay(int month, int year)
{
switch(month)
{
case 1:case 3:case 5:case 7:case 8:case 10:case 12:
return 31;
break;
case 4:case 6:case 9:case 11:
return 30;
break;
case 2:
if((IsLeapYear(year))==1)
return 29;
else
return 28;
break;
}
}
int IsLeapYear(int year)
{
if((year%4==0)&&(year0!=0))
return 1;
if(year@0==0)
return 1;
return 0;
}
-End-
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com