c语言中编写万年历的代码要用到那些函数?

如题所述

第1个回答  2011-12-31
#include"stdio.h"
#define YES 1
#define NO 0
int isleap(int year)
{
int leap=NO;
if(year%4==0 && year%100!=0 || year%400==0)
leap = YES;
return leap;
}
int week_of_firstday(int year)
{
int n;
n=(year+(year-1)/4-(year-1)/100+(year-1)/400)%7;

return n;
}
int main()
{
int year,month,day,weekday,len_of_month,i;
printf("请输入年份:");
scanf("%d",&year);
weekday=week_of_firstday(year);
for(month=1;month<=12;month++)
{
printf("\n"); printf(" %d年%d月\n",year,month);
printf("---------------------\n");
printf("日 一 二 三 四 五 六\n");
printf("---------------------\n");
for(i=0;i<weekday;i=i+1)
printf(" ");
if(month==4||month==6||month==9||month==11)
len_of_month=30;
else if(month==2)
{
if(isleap(year))
len_of_month=29;
else
len_of_month=28;
}
else
len_of_month=31;

for(day=1;day<=len_of_month;day++)
{
if(day>9)
printf("%d ",day);
else
printf("%d ",day);
weekday++;
if(weekday==7)
{
weekday=0;
printf("\n");
}
}
printf("\n");

}
return 0;
}本回答被网友采纳
第2个回答  2011-12-30
如果要获取当前时间 就需要用到time
第3个回答  2011-12-28
到底在循环什么 很好理解啊。你具体哪句不理解? 如果通篇要翻译的话,我的翻译也毫无作用。