#include <stdio.h>
int run(int num);
int count(int y,int m,int d);
int check(int y,int m,int d);
main(){
//========================================================
int iii=1; //
char ccc; //
while(iii=1){ //
//========================================================
//Definition
int year,month,day,weekday,i,k=0,first;
long sum;
printf("Input the date:(yyyy-mm-dd)\n");
scanf("%d-%d-%d",&year,&month,&day);
//Check
if(check(year,month,day)){
printf("Are you kidding me?!\n");
break;
}
//Print
sum=count(year,month,day);
first=(sum+1)%7;
sum+=day;
weekday = sum%7;
printf("这天是");
switch(weekday){
case 0: printf("星期天\n");break;
case 1: printf("星期一\n");break;
case 2: printf("星期二\n");break;
case 3: printf("星期三\n");break;
case 4: printf("星期四\n");break;
case 5: printf("星期五\n");break;
case 6: printf("星期六\n");break;
}
printf("该月日历:\n");
printf("日\t一\t二\t三\t四\t五\t六\n");
sum=0;
for(i=0;i<first;i++){
printf("\t");
sum++;
}
if(month==4 || month==6 || month==9 || month==11){
k=30;
}else if(month==2){
if(run(year)){
k=29;
}else k=28;
}else k=31;
for(i=1;i<=k;i++){
printf("%d\t",i);
sum++;
if(sum==7){
printf("\n");
sum=0;
}
}
printf("\n");
//========================================================
printf("Continue?\n"); //
scanf("%s",&ccc); //
if(ccc=='y'); //
else break; //
getchar(); //
} //
//========================================================
}
//======================Function==========================
int run(int num){
if(((num%4==0) && (num%100!=0)) || (num%400==0))
return 1;
else return 0;
}
//【CountFuntion】
int count(int y,int m,int d){
int i,j;
long sum=0;
//Count in year:
for(i=1900;i<y;i++){
if(run(i))
sum+=366;
else
sum+=365;
}
//Count in month:
for(j=1;j<m;j++){
if(j==4 || j==6 || j==9 || j==11){
sum+=30;
}else if(j==2){
if(run(y)){
sum+=29;
}else sum+=28;
}else sum+=31;
}
//retuen
return sum;
}
//【CheckFuntion】
int check(int y,int m,int d){
if(m==2){
if((d==29 && !run(y)) || d==30)
return 1;
}
if(d==31 && (m==2 || m==4 || m==6 || m==9 || m==11))
return 1;
if(d>31)
return 1;
return 0;
}
【C】星期判断与日历打印
最新推荐文章于 2021-06-15 16:08:33 发布