永发信息网

怎么用c语言编写简单的万年历,能显示当前日期的

答案:2  悬赏:80  手机版
解决时间 2021-03-18 17:31
  • 提问者网友:蓝莓格格巫
  • 2021-03-17 19:28
??各位大神,急用,谢谢
最佳答案
  • 五星知识达人网友:青灯有味
  • 2021-03-17 20:05
GetLocalTime()可以获取当前日期、时间,万年历可以根据日历的算法规则进行计算
全部回答
  • 1楼网友:醉吻情书
  • 2021-03-17 20:19
#include void main() { int i,j,temp,temp_i,day,year; long int yeardays; long int sumday(int year); int leapyear(int year); int month[]={0,31,28,31,30,31,30,31,31,30,31,30,31,29}; int everyday[6][14]; printf ("please enter a year:\n"); scanf("%d",&year); yeardays=sumday(year); for(temp=1;temp<=6;temp++) { getchar(); for(i=0;i<6;i++) for(j=0;j<14;j++) everyday[i][j]=0; switch(temp) { case 1:printf("\t 一月 %d\t\t 二月 %d\n",year,year);break; case 2:printf("\t 三月 %d\t\t 四月 %d\n",year,year);break; case 3:printf("\t 五月 %d\t\t 六月 %d\n",year,year);break; case 4:printf("\t 七月 %d\t\t 八月 %d\n",year,year);break; case 5:printf("\t 九月 %d\t\t 十月 %d\n",year,year);break; case 6:printf("\t 十一月 %d\t\t 十二月 %d\n",year,year);break; } printf("日 一 二 三 四 五 六 日 一 二 三 四 五 六 \n"); i=0;j=0; for(temp_i=0;temp_i<(yeardays%7);temp_i++) { everyday[0][j++]=0; } day=1; while(day<=month[2*temp-1]) { if(j%7==0) { j=0;i++; } everyday[i][j++]=day; day++; yeardays++; } i=0;j=7; for(temp_i=0;temp_i<(yeardays%7);temp_i++) { everyday[0][j++]=0; } day=1; if(leapyear(year)&&temp==1) while(day<=month[13]) { if(j%14==0) { j=7;i++; } everyday[i][j++]=day; day++; yeardays++; } else while(day<=month[2*temp]) { if (j%14==0) { j=7;i++; } everyday[i][j++]=day; day++; yeardays++; } for (i=0;i<6;i++) { for(j=0;j<14;j++) { if(everyday[i][j]!=0) printf("%-4d",everyday[i][j]); else printf(" "); if(j==6) printf(" "); } printf("\n"); } } } int leapyear(int year) { if((year%4==0&&year%100!=0)||year%400==0) return(1); else return (0); } long int sumday(int year) { int yearstart=1,leapsum=0; while(yearstart
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯