该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#include
int main()
{
int years;
int month;
int day;
int a;//x-1
int A;
int B;
int C;
int amount;
int s;
int i;
/*-------------------------------------------------------*/
printf("请输入年份:____\b\b\b\b(enter q to exit)");
scanf("%d",&years);
while(isdigit(years))
{
fflush(stdin);
printf("请输入__\b\b月份");
scanf("%d",&month);
fflush(stdin);
if(years%4==0&&years%100!=0||years%400==0)
{
if(month==2)
i=29;
else
if(month%2==1||month==8||month==10||month==12)
i=31;
else
if(month%2==0||month==9||month==11&&month!=2)
i=30;
}
else
{
if(month==2)
i=28;
else
if(month%2==1||month==8||month==10||month==12)
i=31;
else
if(month%2==0||month==9||month==11&&month!=2)
i=30;
}
printf("请输入日期__\b\b(范围在1和%d之间)",i);
scanf("%d",&day);
a=years-1;
A=a/4;
B=a/100;
C=a/400;
/*-------------------------------------------------*/
if(years%4==0&&years%100!=0||years%400==0)
{
if(month==1)
amount=day;
else
if(month==2)
amount=31+day;
else
if(month<=7&&month>2)
{
if((month-2)%2==0)
amount=((month-2)/2)*61+60-30+day;
else
if((month-2)%2==1)
amount=((month-3)/2)*61+60+day;
}
else
if(month>=8&&month<=12)
{
if((month-7)%2==0)
amount=((month-7)/2)*61+213-30+day;
else
if((month-7)%2==1)
amount=((month-8)/2)*61+213+day;
}
}
else { if(month==1)
amount=day;
else
if(month==2)
amount=31+day;
else
if(month<=7&&month>2)
{
if((month-2)%2==0)
amount=((month-2)/2)*61+59-30+day;
else
if((month-2)%2==1)
amount=((month-3)/2)*61+59+day;
}
else
if(month>=8&&month<=12)
{
if((month-7)%2==0)
amount=((month-7)/2)*61+212-30+day;
else
if((month-7)%2==1)
amount=((month-8)/2)*61+212+day;
}
}
/*-------------------------------------------*/
s=a+A-B+C+amount;
printf("这天为星期%d\n",s%7);
printf("\n");
printf("请输入年份:____\b\b\b\b(enter q to exit)");
scanf("%d",&years);
}
printf("程序结束");
system("pause");
return 0;
}