日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

打印日历(标准版)

發布時間:2023/12/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 打印日历(标准版) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#ifndef __CALENDER__ #define __CALENDER__ #include<stdio.h> #define PRINT_YEAR 1 #define PRINTD_MONTH 2 void print_date(int year,int month); #endif //打印日歷 #include"calender.h" int main(int argc, const char *argv[]) {int choose,ret,year,month;puts("********Please choose***************");puts("********1.Print year calender*******");puts("********2.Print month calender******");puts("************************************");printf("Input chose>");ret=scanf("%d",&choose);if(ret!=1){printf("打印錯誤");return -1;}while(getchar()!='\n');switch (choose){case PRINT_YEAR:printf("input Print year>");ret = scanf("%d",&year);if(ret!=1){printf("input year error\n");return -1;}while((getchar())!=('\n'));//判斷年份if(year<=0){printf("input error\n");return -1;}print_date(year,0);break;case PRINTD_MONTH://輸入年和月printf("input year and month\n");ret = scanf("%d-%d",&year,&month);if(ret!=2){printf("intput year and month error\n");return -1;}while(getchar()!='\n');if((year<=0)||(month<=0)||(month>12)){printf("intput year and month error\n");return -1;}print_date(year,month);break;dafault:printf("input chose error,try again\n");return -1;}return 0; } #include"calender.h" //計算某年某月的某一天為星期幾0代表星期日 int getWeekdayByYearday(int iY,int iM,int iD) {int iWeekDay = -1;if(1==iM||2==iM){iM+=12;iY--;}iWeekDay = (iD+1+2*iM+3*(iM+1)/5+iY+iY/4-iY/100+iY/400)%7;return iWeekDay; } //得到某一月有多少天 int getmonthofday(int year,int month) {int day=0;switch(month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:day=31;break;case 4:case 6:case 9:case 11:day=30;break;case 2:{if((year%4==0&&year%100!=0)||(year%400==0))day=29;elseday=28;}break; }return day; } void print_month(int year,int month) {int week;printf("%d-%d\n",year,month);printf("\tSun\tMon\tTue\tWed\tThu\tFri\tSat\n");//這一月的第一天是星期幾week=getWeekdayByYearday(year,month,1);//移動光標到每月的第一天是周幾的位置for(int i=0;i<=week;i++){printf("\t");}//打印日期int i,j;for(i=1,j=week;i<=getmonthofday(year,month);i++,j++){if(j==7){j=0;printf("\n\t");}printf("%d\t",i);}printf("\n"); }void print_date(int year,int month) {if(month==0){for(int i=1;i<=12;i++){print_month(year,i);}}else{print_month(year,month);} }

總結

以上是生活随笔為你收集整理的打印日历(标准版)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。