满意答案
maxjack1983
2013.12.01
采纳率:50% 等级:12
已帮助:9373人
刚写了这个程序,过程应该比较清晰。 能满足要求了吗? #include #include char WDAY[7][4]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"}; int GetMonthDay(int year,int month){ const int days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; if(month==2 && year%4==0 && (year%100!=0 || year%400==0)) return days[month]+1; return days[month]; } int main(){ time_t aclock; tm *now; int year,month,day,wday; int firstwday,days,i,j; time(&aclock); now = localtime(&aclock); year=now->tm_year+1900; month=now->tm_mon+1; day=now->tm_mday; //[1,31] wday=now->tm_wday; //[0,6],sunday=0 firstwday=(wday-day)%7; if(firstwday<0) firstwday+=7; days=GetMonthDay(year,month); for(i=0;i<7;i++) printf("%s\t",WDAY[i]); printf("\n"); for(j=0;j<=firstwday;j++) printf("\t"); for(i=1;i<=days;i++){ if(i==day) printf("%d*\t",i); else printf("%d\t",i); if(++j==7){ printf("\n"); j=0; } } printf("\n"); printf("Today is %04d/%02d/%02d.\n",year,month,day); }
00分享举报