滴滴答答

徐洛山禾 发表于2020年11月23日
<p>#include &lt;stdio.h&gt;</p><p>#include &lt;stdlib.h&gt;</p><p><br ></p><p>int leapYear(int year){</p><p> return(year%4==0&amp;&amp;year%100!=0||year%400==0)?1:0;</p><p>}&nbsp;</p><p>void displayOfMonth(int year,int month,int days){</p><p> int i;</p><p> int sum;</p><p> int temp;</p><p> int sumOfDay(int year,int month);</p><p> sum=sumOfDay(year,month);</p><p> temp=sum%7;</p><p> temp++;</p><p> printf(&quot;*********%d\n&quot;,temp);</p><p> printf(&quot;日\t一\t二\t三\t四\t五\t六\n&quot;);</p><p> if(temp==7){</p><p> temp=0;&nbsp;</p><p> }</p><p> for(int j=1;j&lt;=temp;printf(&quot;\t&quot;),j++);</p><p> if(temp==7){</p><p> printf(&quot;\r&quot;);</p><p> }</p><p> for(i=1;i&lt;=days;i++){</p><p> &nbsp; &nbsp; printf(&quot;%d\t&quot;,i);</p><p> if((i+temp)%7==0){</p><p> printf(&quot;\n&quot;);</p><p> }</p><p> }</p><p> printf(&quot;\n&quot;);</p><p>}</p><p>int daysOfMonth(int year,int month){</p><p> int days;</p><p> switch(month)</p><p> {</p><p> case 1:</p><p> case 3:</p><p> case 5:</p><p> case 7:</p><p> case 8:</p><p> case 10:</p><p> case 12:</p><p> &nbsp; &nbsp; days=31;</p><p> &nbsp; &nbsp; system(&quot;color f1&quot;);</p><p> break;</p><p> case 4:</p><p> case 6:</p><p> case 9:</p><p> case 11:</p><p> &nbsp; &nbsp; days=30;</p><p> &nbsp; &nbsp; system(&quot;color f2&quot;);</p><p> break;</p><p> case 2:</p><p> days=leapYear(year)?29:28;</p><p> system(&quot;color f3&quot;);</p><p> }</p><p> //displayOfMonth(days);</p><p> return days;</p><p>}</p><p><br ></p><p>int daysOfMonth(){</p><p> int year;</p><p> int month;</p><p> int days;</p><p> scanf(&quot;%d-%d&quot;,&amp;year,&amp;month);</p><p> if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){</p><p> days=31;</p><p> }else if(month==4||month==6||month==9||month==11){</p><p> days=30;</p><p> }else if(month==2){</p><p> /*if(year%4==0&amp;&amp;year%100!=0||year%400==0){</p><p> days=29;</p><p> }else{</p><p> days=28;</p><p> }*/</p><p> days=leapYear(year)?29:28;</p><p> }</p><p><br ></p><p> //displayOfMonth(days);</p><p> return days;</p><p>}</p><p><br ></p><p>int sumOfDay(int year,int month){</p><p> int sum=0;</p><p> int monthofday[12]={31,28,31,30,31,30,31,31,30,31,30,31};</p><p> sum=sum+(year-1)*365;</p><p> sum+=(year-1)/400*97;</p><p> sum+=(year-1)%400/100*24;</p><p> sum+=(year-1)%100/4;</p><p> for(int i=1;i&lt;=month-1;i++){</p><p> //sum+=daysOfMonth(year,i);</p><p> sum+=monthofday[i-1];</p><p> }</p><p> return sum;</p><p>}</p><p><br ></p><p>int main(int argc,char *argv[])</p><p>{</p><p> printf(&quot;输入你需要查询的月份\n&quot;);</p><p> system(&quot;color f5&quot;);</p><p> int year;</p><p> int month;</p><p> int days;</p><p> scanf(&quot;%d-%d&quot;,&amp;year,&amp;month);</p><p> displayOfMonth(year,month,daysOfMonth(year,month)); </p><p> return 0;</p><p>}&nbsp;</p><p><br ></p>