C语言根据日期求星期(分段计算方式)

别妄想泡我
611次浏览
2021年02月20日 06:24
最佳经验
本文由作者推荐

-

2021年2月20日发(作者:嗄达梅林)


C


语言根据日期求星期



今天是


2007



10



17


日,星期六


.


现在告诉你一个日期,你能回答今天是星期几吗?



输入描述:



输入数据有多组,每组占 一行,输入三个整数


year(0


month(0<=month<13),


day(0<=day<32).


输出描述:



对于每组输入数据,输出 一行,表示星期几,如果不合法输出“


illegal


”。





以下为代码:






1 #include



2 char date[7][7] = {


星期日



星期一

< br>


星期二



星期三

< br>


星期四



星期五

< br>


星期六




3 //


判断年份是否为闰年




4 int isLeap(int year)



5 {



6





if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)



7









return 1;



8





return 0;










9 }


10


11 int main()


12 {


13





int year,month,day;


14





//


平年各个月的天数



15





int year1[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};


16





//


闰年各个月的天数



17





int year2[13] = {0,31,29,31,30,31,30,31,31,30,31,30,31};


18





//days


为距离公元第一天的天数



19





int days = 0, k = 0, j = 0;


20





char *getDate;


21





while(scanf(


22





{


23









if(year<= 0 || year >= 10000 || month < 0 || month >= 13 || day


< 0 || day >= 32)


24









{


25













printf(


26













continue;


27









}


28









29









30









31









32









33









34









35









36









37









38









39









40









41









42









43









44









45









46


47









48









49









50









51









52









53












if(isLeap(year))





{









if(day > year2[month])









{













printf(













continue;









}





}





else





{









if(day > year1[month])









{













printf(













continue;









}





}


现在的日期与公元第一天开始相隔的天数






if(isLeap(k))









days = days + 366;


if(month == 2)


{


















}


//



for(k = 1;k < year;k++)


{



-


-


-


-


-


-


-


-