1 条题解
-
0
C :
#include <stdio.h> int run=0; int getmonthnum(int month) { switch(month) { case 1: return 31; case 2: if(run) return 29; else return 28; case 3: return 31; case 4: return 30; case 5: return 31; case 6: return 30; case 7: return 31; case 8: return 31; case 9: return 30; case 10: return 31; case 11: return 30; case 12: return 31; } } int isrun(int year) { if(year%400==0 || (year%4==0 && year%100!=0)) return 1; return 0; } void print(int year,int month,int begin) { int day,i = 1,j; day = getmonthnum(month); printf("---------------------\n"); printf(" Su Mo Tu We Th Fr Sa\n"); printf("---------------------\n"); if(begin == 6) begin = -1; for(j = -1; j < begin; j++) printf(" "); for( ; begin < 6; begin++) printf("%3d",i++); printf("\n"); j=0; while(i <= day) { printf("%3d",i++); j++; if(j == 7) { j=0; printf("\n"); } } if(j!=0) printf("\n---------------------"); else printf("---------------------"); } int main() { int year,month,i,sum=0; while(scanf("%d%d",&year,&month)!= EOF) { sum = 0; run = 0; for(i=2007; i<year; i++) if(isrun(i)) sum+=366; else sum+=365; if(isrun(year)) run=1; for(i=1; i<month; i++) sum+=getmonthnum(i); print(year,month,sum%7); printf("\n"); } return 0; }
C++ :
#include<stdio.h> int main() { int s[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; int year,month,day; while(scanf("%d%d",&year,&month) != EOF) { printf("---------------------\n"); printf(" Su Mo Tu We Th Fr Sa\n"); printf("---------------------\n"); day = 1; for(int i=2007; i<year; i++) { day+=365; if((i%4==0&&(i%100)!=0)||i%400==0) day+=1; } for(int j=1; j<month; j++) { day+=s[j]; } int a=s[month]; if(((year%4==0&&(year%100)!=0)||(year%400==0))&&(month==2)) { a=a+1; } if(((year%4==0&&(year%100)!=0)||(year%400==0))&&(month>2)) { day += 1; } int t,q,w; t = day % 7; q = t; for(int k=0; k<t; k++) { printf(" "); } for( w=1; w<=a; w++) { printf("%3d",w); q++; if(q%7==0) printf("\n"); } if((q%7)!=0) { printf("\n"); } printf("---------------------\n"); } return 0; }
- 1
信息
- ID
- 1138
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者