#include#include #include #include int a[31]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31}; int main() { int Leap(int ); int Month(int ); void print(int k,int t,int day); int i,j=0,k,m,n,t=-6; int day; int total=1; printf("請輸入年份:"); scanf("%d",&m); printf("請輸入月份:"); scanf("%d",&n); getchar(); do { system("cls"); printf("%d年%d月:\n",m,n); total=365*(m-1); for(i=1;i 1) total--; if(total==0) k=(total+1)%7; else k=(total+2)%7; print(k,t,day); printf("請選擇:"); switch(getch()) { case '>': if(n==12) { m++; n=1; } else n++; break; case '<': if(n==1) { m--; n=12; } else n--; break; case '?': printf("請輸入年份:"); scanf("%d",&m); printf("請輸入月份:"); scanf("%d",&n); break; case '#': j=1; break; } if(j==1) break; putchar(10); }while(1); return 0; } int Month(int n) { int day; switch(n) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: day=31; break; case 2: day=28; break; case 4: case 6: case 9: case 11: day=30; break; default: printf("您輸入的月份有錯, 請重新輸入!\n"); } return day; } int Leap(int m) {//閏年返回1,否則返回0。 int i=0; if(m%4==0 && m%100!=0 || m%400==0) i=1; return i; } void print(int k,int t,int day) { FILE *fp; if((fp=fopen("abc.txt","w"))==0) { printf("打開失敗\n"); exit(1); } int i; printf("\n日 一 二 三 四 五 六\n"); fprintf(fp,"\n日 一 二 三 四 五 六\n"); printf("-------------------------------------------------------------\n"); fprintf(fp,"---------------------------------------------------------\n"); for(i=1;i<=k;i++) { printf(" "); fprintf(fp," "); } for(i=0;i 下一個月 \n"); printf(" < 上一個月 \n"); printf(" ? 自定義年月 \n"); printf(" # 退出 \n"); printf("--------------------------\n"); fclose(fp); }