- 综合讨论区
- 帖子详情
;;;;
物联网205202017170542杨镇阳
发表于2020年12月30日
<p>#include <stdio.h></p><p><br ></p><p>#include <stdlib.h></p><p><br ></p><p>#include <time.h></p><p><br ></p><p>#include <windows.h></p><p><br ></p><p>int leapYear(int year){</p><p><br ></p><p>return(year%4==0&&year%100!=0||year%400==0)?1:0;</p><p><br ></p><p>} </p><p><br ></p><p>void displayOfMonth(int year,int month,int days){</p><p><br ></p><p>int i;</p><p><br ></p><p>int sum;</p><p><br ></p><p>int temp;</p><p><br ></p><p>int j; </p><p><br ></p><p>int sumOfDay(int year,int month);//声明 </p><p><br ></p><p>sum=sumOfDay(year,month);//调用 </p><p><br ></p><p>temp=sum%7;</p><p><br ></p><p>temp++;</p><p><br ></p><p>printf(" %d-%d\n",year,month);</p><p><br ></p><p>printf("日\t一\t二\t三\t四\t五\t六\n");</p><p><br ></p><p>if(temp==7){</p><p><br ></p><p>temp=0;</p><p><br ></p><p>}</p><p><br ></p><p>for(j=1;j<=temp;printf("\t"),j++);</p><p><br ></p><p>for(i=1;i<=days;i++){</p><p><br ></p><p>printf("%d\t",i);</p><p><br ></p><p>if((i+temp)%7==0){</p><p><br ></p><p>printf("\n");</p><p><br ></p><p>}</p><p><br ></p><p>}</p><p><br ></p><p>printf("\n");</p><p><br ></p><p>}</p><p><br ></p><p>int daysOfMonth(int year,int month){</p><p><br ></p><p>int days;</p><p><br ></p><p>switch(month){</p><p><br ></p><p>case 1:</p><p><br ></p><p>case 3:</p><p><br ></p><p>case 5:</p><p><br ></p><p>case 7:</p><p><br ></p><p>case 8:</p><p><br ></p><p>case 10:</p><p><br ></p><p>case 12:</p><p><br ></p><p>days=31;</p><p><br ></p><p>break;</p><p><br ></p><p>case 4:</p><p><br ></p><p>case 6:</p><p><br ></p><p>case 9:</p><p><br ></p><p>case 11:</p><p><br ></p><p>days=30;</p><p><br ></p><p>break;</p><p><br ></p><p>case 2:</p><p><br ></p><p>days=leapYear(year)?29:28;</p><p><br ></p><p>}</p><p><br ></p><p>return days;</p><p><br ></p><p>}</p><p><br ></p><p>int sumOfDay(int year,int month){</p><p><br ></p><p>int sum=0;</p><p><br ></p><p>int i;</p><p><br ></p><p>int monthofday[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},</p><p><br ></p><p>{31,29,31,30,31,30,31,31,30,31,30,31}};</p><p><br ></p><p>sum=sum+(year-1)*365;</p><p><br ></p><p>sum+=(year-1)/400*97;</p><p><br ></p><p>sum+=(year-1)%400/100*24;</p><p><br ></p><p>sum+=(year-1)%100/4;</p><p><br ></p><p>for(i=1;i<=month-1;i++){</p><p><br ></p><p>//sum+=daysOfMonth(year,i);</p><p><br ></p><p>sum+=monthofday[leapYear(year)][i-1];</p><p><br ></p><p>//i-1表示数组一定要从0开始:C语言一条线 </p><p><br ></p><p>//if(leapYear(year)&&month>2) sum++; </p><p><br ></p><p>}</p><p><br ></p><p>return sum;</p><p><br ></p><p>}</p><p><br ></p><p>void menu(){</p><p><br ></p><p>int temp;</p><p><br ></p><p>int tempyear;</p><p><br ></p><p>int days;</p><p><br ></p><p>int year;</p><p><br ></p><p>int season;</p><p><br ></p><p>int i;</p><p><br ></p><p>int month;</p><p><br ></p><p>char select;</p><p><br ></p><p>int m;</p><p><br ></p><p>while(1){</p><p><br ></p><p>printf(" =================================================\n");</p><p><br ></p><p>printf(" 1、年月日查询\n");</p><p><br ></p><p>printf(" 2、年份查询\n"); </p><p><br ></p><p>printf(" 3、季度查询\n");</p><p><br ></p><p>printf(" 4、前六月查询 \n");</p><p><br ></p><p>printf(" 5、后六月查询\n");</p><p><br ></p><p>printf(" 6、退出本程序\n");</p><p><br ></p><p>printf(" =================================================\n");</p><p><br ></p><p> select=getchar();</p><p><br ></p><p>if(select=='1'){</p><p><br ></p><p>printf("请您输入您要查询的具体日期,格式:年-月\n");</p><p><br ></p><p>scanf("%d-%d",&year,&month);</p><p><br ></p><p>system("color A7");</p><p><br ></p><p>getchar();</p><p><br ></p><p>system("cls");</p><p><br ></p><p>displayOfMonth(year,month,daysOfMonth(year,month));</p><p><br ></p><p>printf("请等待五秒后重新输入您的选择\n");</p><p><br ></p><p>Sleep(5000);</p><p><br ></p><p>system("cls");</p><p><br ></p><p> }else if(select=='2'){</p><p><br ></p><p> printf("请您输入您要查询的具体年份,格式:年\n");</p><p><br ></p><p> scanf("%d",&year);</p><p><br ></p><p> system("color B5");</p><p><br ></p><p> getchar();</p><p><br ></p><p> system("cls");</p><p><br ></p><p>for(i=1;i<=12;displayOfMonth(year,i,daysOfMonth(year,i)),i++);</p><p><br ></p><p>printf("请等待五秒后重新输入您的选择\n");</p><p><br ></p><p>Sleep(5000);</p><p><br ></p><p>system("cls");</p><p><br ></p><p> }else if(select=='3'){</p><p><br ></p><p> printf("请输入您要查询的某年某季度,格式为:年-季度\n");</p><p><br ></p><p> scanf("%d-%d",&year,&season);</p><p><br ></p><p> system("color C6");</p><p><br ></p><p> getchar();</p><p><br ></p><p> system("cls"); for(i=(season-1)*3+3;</p><p><br ></p><p>i<=season*3+2;displayOfMonth(tempyear,temp,daysOfMonth(tempyear,temp)),i++){</p><p><br ></p><p> switch(season){</p><p><br ></p><p> case 1:</p><p><br ></p><p> printf(" 春夜喜雨 \n");</p><p><br ></p><p> printf(" 杜甫 \n");</p><p><br ></p><p> printf(" 好雨知时节,\n");</p><p><br ></p><p> printf(" 当春乃发生。\n");</p><p><br ></p><p> printf(" 随风潜入夜,\n");</p><p><br ></p><p> printf(" 润物细无声。\n");</p><p><br ></p><p> break;</p><p><br ></p><p>case 2:</p><p><br ></p><p> printf(" 晓出净慈寺送林子方\n");</p><p><br ></p><p> printf(" 杨万里\n");</p><p><br ></p><p>printf(" 毕竟西湖六月中,\n");</p><p><br ></p><p>printf(" 风光不与四时同。\n");</p><p><br ></p><p>printf(" 接天莲叶无穷碧。\n");</p><p><br ></p><p>printf(" 映日荷花别样红。\n");</p><p><br ></p><p>break;</p><p><br ></p><p>case 3:</p><p><br ></p><p> printf(" 秋夜曲 \n");</p><p><br ></p><p> printf(" 王维 \n");</p><p><br ></p><p>printf(" 桂魄初生秋露微,\n");</p><p><br ></p><p>printf(" 轻罗已薄未更衣.\n");</p><p><br ></p><p>printf(" 银筝夜久殷勤弄,\n");</p><p><br ></p><p>printf(" 心怯空房不忍归.\n");</p><p><br ></p><p>break;</p><p><br ></p><p>case 4:</p><p><br ></p><p> printf(" 梅花 \n");</p><p><br ></p><p> printf(" 王安石 \n");</p><p><br ></p><p>printf(" 墙角数枝梅,\n");</p><p><br ></p><p>printf(" 凌寒独自开.\n");</p><p><br ></p><p>printf(" 遥知不是雪,\n");</p><p><br ></p><p>printf(" 为有暗香来.\n");</p><p><br ></p><p>break;</p><p><br ></p><p>}</p><p><br ></p><p>temp=i;</p><p><br ></p><p>tempyear=year;</p><p><br ></p><p>if(temp>12){</p><p><br ></p><p>tempyear++;</p><p><br ></p><p>temp-=12;</p><p><br ></p><p>}</p><p><br ></p><p> }</p><p><br ></p><p> printf("请等待五秒后重新输入您的选择\n");</p><p><br ></p><p>Sleep(5000);</p><p><br ></p><p>system("cls");</p><p><br ></p><p> }else if(select=='4'){</p><p><br ></p><p> printf("请您输入要查询的某年上半年的日历,格式:年\n");</p><p><br ></p><p> scanf("%d",&year);</p><p><br ></p><p> system("color E3");</p><p><br ></p><p> getchar();</p><p><br ></p><p> system("cls");</p><p><br ></p><p>for(i=1;i<=6;displayOfMonth(year,i,daysOfMonth(year,i)),i++);</p><p><br ></p><p>printf("请等待五秒后重新输入您的选择\n");</p><p><br ></p><p>Sleep(5000);</p><p><br ></p><p>system("cls");</p><p><br ></p><p> }else if(select=='5'){</p